倒数计时器不想在java中停止



我正在尝试使用 java 和 Netbeans 8.1 IDE 创建倒数计时器,我的问题是当计时器达到 00:00 时它不想停止。我试图写 timer.stop((;但它仍然不起作用...也许你可以帮助我..

这是我的源代码:

ActionListener action;
action = new ActionListener() {  
public void actionPerformed(ActionEvent e) {
seconds--;
if(seconds==0){
minutes--;
seconds=60;
}
if(seconds==0 && minutes==0){
timer.stop();
}
String min = minutes <= 9? "0"+minutes:minutes+"";
String seg = seconds <= 9? "0"+seconds:seconds+"";
txtRemaining.setText(min+":"+seg);
}
};  
this.timer = new Timer(interval, action);  
this.timer.start();

你的问题在这里:

if(seconds==0 && minutes==0){
timer.stop();
}

在这里永远不能== 0,因为就在你调用的这个代码块之前:

if(seconds==0){
minutes--;
seconds=60;
}

如果秒 == 0,则立即将其设置为 60。 解决方案是交换以下两行:

// call this **first**
if(seconds==0 && minutes==0){
timer.stop();
}
// call this **second**
if(seconds == 0){
minutes--;
seconds = 60;
}

最新更新