下面是源代码:
/*
* 此例是产生抽号小系统,带有小界面
* By:jiangqq
* Number:20091454
*/
package com.renren.jiangqq;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.Timer;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class RandomStudent {
@SuppressWarnings("unused")
private static MyJPanel myjpanel;
public static void main(String[] args) throws Exception {
myjpanel = new MyJPanel();
}
}
class MyJPanel extends JFrame implements ActionListener{
//构造函数
// 进行界面与组件的组件
//定义需要的组件
JComboBox jcb;
JButton jb1,jb2,jb3; //定义2个按钮
JTextField jtf1,jtf2;//定义2个文本框
JPanel jp1,jp2,jp3; //定义3个小容器
JLabel jl1,jl2; //定义2个标签
Timer time;
public MyJPanel()throws Exception {
time =new Timer(50, this);
//创建已经定义的属性
jb1=new JButton("开始"); //创建按钮
jb2=new JButton("停止");
jb3=new JButton("清除");
//jtf1=new JTextField(15); //创建文本框
jtf2=new JTextField(16);
jp1=new JPanel(); //创建中间容器面板
jp2=new JPanel();
jp3=new JPanel();
jl1=new JLabel("班级"); //创建标签
jl2=new JLabel("学号");
// String []jg={"2009级计算机科学与技术班","2009软件工程班",
// "2009信息系统与管理班","2009级网络工程班"};
// jcb=new JComboBox(jg);
jcb=new JComboBox();
jcb.addItem("2009级计算机科学与技术班");
jcb.addItem("2009软件工程班");
jcb.addItem("2009信息系统与管理班");
jcb.addItem("2009级网络工程班");
jcb.addActionListener(this);
//把组要的组件加入容器与JFrame
jp1.add(jl1);
jp1.add(jcb);
jp2.add(jl2);
jp2.add(jtf2);
jp3.add(jb1);
jb1.addActionListener(this);
jp3.add(jb2);
jb2.addActionListener(this);
jp3.add(jb3);
jb3.addActionListener(this);
//设置JFraem的布局管理器
this.setLayout(new GridLayout(3,1));
this.add(jp1);
this.add(jp2);
this.add(jp3);
//设置JFrame的各种属性
this.setTitle("学生抽号系统");
this.setSize(400,250);
this.setLocation(200, 200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent e){
//监听是开始按钮
Random rds=new Random();
int result = 0;
if(e.getSource()==time){
if(jcb.getSelectedItem().equals("2009级计算机科学与技术班")){
result=rds.nextInt(80)+20091344;
}
else if(jcb.getSelectedItem().equals("2009软件工程班")){
result=rds.nextInt(56)+20091432;
}
else if(jcb.getSelectedItem().equals("2009信息系统与管理班")){
result=rds.nextInt(45)+20091488;
}
else if(jcb.getSelectedItem().equals("2009级网络工程班")){
result=rds.nextInt(80)+20091533;
}
String s=String.valueOf(result);
jtf2.setText(s);
}
else if(e.getSource()==jb1){
time.start();
}
else if(e.getSource()==jb2){
time.stop();
}
else if(e.getSource()==jb3){
jtf2.setText("");
}
}
}