如何在 java 中重置计时器?

How can I reset a timer in java?

private void btnGuess1ActionPerformed(java.awt.event.ActionEvent evt) {    
    Timer timer = new Timer();
    TimerTask task = new TimerTask(){
        private int i = 0;
        public void run(){
            if (i <= 20){
                lblTimer.setText("" + i++);
            }
        }
    };
    timer.cancel();
    timer.purge();
    timer = new Timer();
    timer.schedule(task, 1000);

这就是我目前所拥有的。当我使用按钮激活这段代码时,计时器永远不会重置。我怎样才能解决这个问题?也没有错误信息。

提前感谢任何帮助。

使 timer 成为 class 的成员并在构造函数中创建它。在安排新任务之前,您应该取消计时器。像这样:

 private void btnGuess1ActionPerformed(java.awt.event.ActionEvent evt) {    
    timer.cancel();
    TimerTask task = new TimerTask(){
       private int i = 0;
       public void run(){
       if (i <= 20){
         lblTimer.setText("" + i++);
      }
    }
};
timer = new Timer();
timer.scheduleAtFixedRate(task, 0, 1000);