一个简单的计时器:publicclassTesttimeextendsJFrameimplementsActionListener,Runnable{JButtonbtn1;JButtonbtn2;JLabeltime;intminute,seconds;Threadbegin;booleanflag;publicTes...
一个简单的计时器:
public class Testtime extends JFrame implements ActionListener,Runnable{
JButton btn1;
JButton btn2;
JLabel time;
int minute,seconds;
Thread begin;
boolean flag;
public Testtime(){
btn1=new JButton("开始计时 ");
btn2=new JButton(" 停止计时");
time=new JLabel(0+":"+0);
minute=0;seconds=0;
add(btn1);
add(time);
add(btn2);
setLayout(new FlowLayout());
setSize(400,400);
setVisible(true);
btn1.addActionListener(this);
btn2.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==btn1){
begin=new Thread(Testtime.this);
minute=0;seconds=0;
flag=true;
begin.start();
}
else{
flag=false;
}
}
public void run(){
while(flag){
seconds++;
if(seconds%60==0){
seconds=0;
minute++;
}
time.setText(minute+" : "+seconds);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String args[]){
new Testtime();
}
}
点击按钮“开始计时”,“停止计时”均能正常工作。
但是如果我连续点击了两次“开始计时”,秒钟速度会快一倍。
请问该怎么修改代码呢
展开