如何在 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);
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);