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

Edd*_*die 0 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;
}
Run Code Online (Sandbox Code Playgroud)

 public static void timerStop()
 {
    timer.cancel();
    runnig = false;
 }
Run Code Online (Sandbox Code Playgroud)

cam*_*ckr 6

我正在使用 java.util.timer;

好吧,出于以下几个原因,您应该使用Swing Timer

  1. 它有 stop() 和 restart() 方法。
  2. Swing 组件应该在事件调度线程上更新。