如何在Java中启动和停止计时器

时间:2016-06-25 23:37:31

标签: java timer

我不擅长Java ......

我正在制作秒表,带有启动,停止和重置按钮。

当你按开始时,它显然会启动。当你按停止时,它会暂停(使用timer.cancel();)。当你按下复位时,它会使所有值为0,然后停止。当你再次按下开始时,它应该继续计数,停止它(除非它被重置)。

我正在使用java.util.timer; 所以这是一个问题: 你如何启动暂停(取消)的计时器?例如,如果我使用停止按钮来停止它。在我的代码中,它看起来像这样:timer.cancel();,我怎么能再次启动它?

我知道您可以使用timer.stop()中的timer.start()vb来执行此操作

 import java.util.Timer;
 import java.util.TimerTask;

public static void timerStart()
{

        //timer
        if(running == false)
        {

            TimerTask task = new TimerTask()
            { 


                public void run()
                {
                    //what to do at each excecution
                    seconds++;
                    lbl.setText(Short.toString(seconds));
                }
            };

        timer.scheduleAtFixedRate(task,1000,1000);
        }
        running = true;
}

 public static void timerStop()
 {
    timer.cancel();
    runnig = false;
 }

1 个答案:

答案 0 :(得分:4)

  

我正在使用java.util.timer;

你应该使用Swing Timer,原因有两个:

  1. 它有stop()和restart()方法。
  2. 应在Event Dispatch Thread上更新Swing组件。