应用图形用户界面和多线程的知识,编写一个应用程序实现下述功能:当单击“开始”按钮时随机产生一个两位整数不断在文本框上显示(每隔300毫秒显示一次),当单击“停止”按钮时,停止显示并将当前产生的数显示在一个标签(JLabel)中。
import javax.swing.;
import java.awt.;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class one extends JFrame implements ActionListener {
class Number implements Runnable
{
public void run()
{
number= (int)(Math.random()*100)+1;
}
}
JButton jb1,jb2;
JTextField jtf;
Timer time;
int number;
one(String s)
{
//界面设计
super(s);
setLayout(new FlowLayout());
jb1= new JButton(“开始”);
jb2=new JButton(“停止”);
jtf= new JTextField("",10);
add(jtf);
add(jb1);
add(jb2);
//注册监听器
time = new Timer(300,this);
jb1.addActionListener(this);
jb2.addActionListener(this);
//窗口的基本设置
setLocation(200,200);
setSize(400,250);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//监听的实现
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==time)
{
Number n = new Number();
n.run();
jtf.setText(number+"");
}
if(e.getSource()==jb1)
{
time.start();
}
if(e.getSource()==jb2)
{
time.stop();
String m=jtf.getText();
JLabel jl=new JLabel();
add(jl);
jl.setText(m);
}
}
public static void main(String args[])
{
one a=new one("one");
}
}