【发布时间】:2016-05-08 11:03:01
【问题描述】:
首先,这不是一个重复的问题。我只是在倒数计时器和其他东西上遇到了麻烦。每当我运行代码时,它只是静止不动,并没有按计划进行。
这是代码。我在构造函数中这样做。我哪里做错了?提前致谢。
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);
}
【问题讨论】:
-
我尝试将它放在 if-else 之外并且在声明 ActionListener 之前,这两个都不起作用。 ._.
-
有很多事情对我提出了疑问。为什么要在构造函数中循环?例如,为什么不在
start方法中。第二。对于每个循环/循环,您构建一个新的计时器,每个计时器都有自己的值等。您期望会发生什么?为什么要检查 Timer Listener 和 while 循环中是否通过了分钟?尝试将所有代码放在一个方法中,然后从构造函数中单独调用它。除了删除while循环,因为它在这里没有用。
标签: java user-interface netbeans-8