java抽奖程序源码及心得Word文件下载.docx
《java抽奖程序源码及心得Word文件下载.docx》由会员分享,可在线阅读,更多相关《java抽奖程序源码及心得Word文件下载.docx(4页珍藏版)》请在冰点文库上搜索。
姓名"
);
JLabellabel_num=newJLabel("
学号"
jPanelphoto=newjPanel();
JButtonstartButton=newJButton("
开始抽奖"
JButtonstopButton=newJButton("
结束抽奖"
intindex;
//保持学生信息与头像的同步
ArrayList<
Student>
array=null;
//存储读出来的学生信息
Timertimer;
publiclmChouJiang(){
//读取学生信息
array=newArrayList<
();
try{
BufferedReaderbufferReader=newBufferedReader(newFileReader(
"
student/stu2.txt"
));
StringBufferstringBuffer=newStringBuffer();
StringlineContent=null;
Stringname="
;
intnum=0;
while((lineContent=bufferReader.readLine())!
=null){
//每一行区分的标识符是空格
StringTokenizerst=newStringTokenizer(lineContent,"
"
//读取学号和姓名。
每一行只有两个元素,所以I的取值就是0和1,0代表学号,1代表姓名
for(inti=0;
st.hasMoreElements();
i++){
Stringword=(String)st.nextElement();
if(i==0){
num=Integer.parseInt(word);
}else{
name=word;
}
Studentstudent=newStudent(name,num);
array.add(student);
}catch(IOExceptione){
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(newstartlButtonListener());
stopButton.addActionListener(newendButtonListener());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,400);
frame.setVisible(true);
index=0;
classMyTaskextendsTimerTask{
publicvoidrun(){
intend=(int)(Math.random()*array.size());
i<
end;
label_num
.setText("
学号:
+String.valueOf(array.get(i).getNum()));
label_name.setText("
姓名:
+array.get(i).getName());
index=i;
frame.repaint();
Thread.sleep(5);
}catch(Exceptione){
classstartlButtonListenerimplementsActionListener{
publicvoidactionPerformed(ActionEventevent){
timer=newTimer();
timer.scheduleAtFixedRate(newMyTask(),0,100);
classendButtonListenerimplementsActionListener{
timer.cancel();
classjPanelextendsJPanel{
privatestaticfinallongserialVersionUID=1L;
publicvoidpaintComponent(Graphicsg){
Imageimage=newImageIcon("
image/"
+index+"
.jpg"
).getImage();
g.drawImage(image,60,100,this);
classStudent{
privateStringname;
privateintnum;
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicintgetNum(){
returnnum;
publicvoidsetNum(intnum){
this.num=num;
publicStudent(Stringname,intnum){
publicvoidprint(){
System.out.println(num+"
+name);
publicclasschoujiang{
publicstaticvoidmain(String[]args){
lmChouJiangcj=newlmChouJiang();