标签:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.util.Timer;
import java.io.*;
class ChouJiang {
JFrame frame = new JFrame();
JLabel label_name = new JLabel("姓名");
JLabel label_num = new JLabel("学号");
jPanel photo = new jPanel();
JButton startButton = new JButton("开始抽奖");
JButton stopButton = new JButton("结束抽奖");
int index; // 保持学生信息与头像的同步
ArrayList<Student> array = null; // 存储读出来的学生信息
Timer timer;
public ChouJiang() {
// 读取学生信息
array = new ArrayList<Student>();
try {
BufferedReader bufferReader = new BufferedReader(new FileReader( "student/stu2.txt"));
StringBuffer stringBuffer = new StringBuffer();
String lineContent = null;
String name = "";
int num = 0;
while ((lineContent = bufferReader.readLine()) != null) {
// 每一行区分的标识符是空格
StringTokenizer st = new StringTokenizer(lineContent, " ");
// 读取学号和姓名。每一行只有两个元素,所以I的取值就是0和1,0代表学号,1代表姓名
for (int i = 0; st.hasMoreElements(); i++) {
String word = (String) st.nextElement();
if (i == 0) {
num = Integer.parseInt(word);
} else {
name = word;
}
}
Student student = new Student(name, num);
array.add(student);
}
} catch (IOException e) {
e.printStackTrace();
}
frame.getContentPane().add(BorderLayout.WEST, startButton);
frame.getContentPane().add(BorderLayout.EAST, stopButton);
frame.getContentPane().add(BorderLayout.NORTH, label_num);
frame.getContentPane().add(BorderLayout.SOUTH, label_name);
frame.getContentPane().add(BorderLayout.CENTER, photo);
startButton.addActionListener(new startlButtonListener());
stopButton.addActionListener(new endButtonListener());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400, 400);
frame.setVisible(true);
index = 0; }
class MyTask extends TimerTask {
public void run() {
int end = (int) (Math.random() * array.size());
for (int i = 0; i < end; i++) {
abel_num
.setText("学号:" + String.valueOf(array.get(i).getNum()));
label_name.setText("姓名:" + array.get(i).getName());
index = i;
frame.repaint();
try {
Thread.sleep(5);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
class startlButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
timer = new Timer();
timer.scheduleAtFixedRate(new MyTask(), 0, 100);
}
}
class endButtonListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
timer.cancel();
}
}
class jPanel extends JPanel {
private static final long serialVersionUID = 1L;
public void paintComponent(Graphics g) {
Image image = new ImageIcon("image/" + index + ".jpg").getImage();
g.drawImage(image, 60, 100, this);
}
}
}
class Student { private String name; private int num;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public Student(String name, int num) {
this.name = name;
this.num = num;
}
public void print() {
System.out.println(num + " " + name);
}
}
public class choujiang {
public static void main(String[] args) {
ChouJiang cj = new ChouJiang();
}
}
标签:
原文地址:http://www.cnblogs.com/ying1314/p/5470304.html