首先,这不是一个重复的问题。我只是在倒数计时器和东西上遇到麻烦。每当我运行代码时,它就会静止不动并且不按计划进行。
这是代码。我在构造函数中执行此操作。我哪里做错了?提前谢谢。
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Timer;
public static int counterSeconds = 0;
public static int counterMinutes = 10;
public static Timer timer;
public Quiz1Start() {
do {
Quiz1Start.timer = new Timer(1000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
if(Quiz1Start.counterSeconds == 0) {
Quiz1Start.counterSeconds = 60;
Quiz1Start.counterSeconds--;
Quiz1Start.counterMinutes--;
Quiz1Start.jLabelMinute.setText(String.valueOf(counterMinutes));
Quiz1Start.jLabelSeconds.setText(String.valueOf(counterSeconds));
} else if(Quiz1Start.counterMinutes == 0) {
Quiz1Start.timer.stop();
}
}
});
timer.start();
} while(counterMinutes == 0);
}
答案 0 :(得分:0)
检查此部分 - while(counterMinutes == 0);
你定义了| counterMinutes |在第一轮之后循环不会进行。
我想它应该是
do {
...
} while(counterMinutes!=0)
答案 1 :(得分:0)
好的,感谢用户n247s和UğurB分享他的想法,现在我明白了,我将声明转移到另一个新方法然后我将代码更改为if-else外部并且它有效! :d