我完全按照写的那样使用了 Java 7 类文档 here .难道我做错了什么?我正在尝试编写一个计时器从 10 倒数到 0,并在倒数时显示计时器编号。我的智能告诉我,当我创建一个新的 Timer 类并传入 delay 和 taskPreformer 的构造函数时,
Timer java.lang.String, boolean in timer cannot be applied to int java.awt.event.ActiveListener.
int delay = 1000; // milliseconds
ActionListener taskPerformer = new ActionListener() {
int count = 10;
public void actionPerformed(ActionEvent evt) {
if (count > 0) {
count--;
}
}
};
new Timer(delay, taskPerformer).start();
最佳答案
您导入了错误的 Timer
。有一个带有参数 (String, boolean)
的 java.util.Timer
,这不是您想要的 Timer
。您需要的计时器是 javax.swing.Timer
,它确实具有参数 (int, ActionListener)
。所以修复导入
//import java.util.Timer; <-- take out
import javax.swing.Timer;
此外,您可能需要一些停止条件来让计时器停止。也许像
if (count > 0) {
count--;
} else {
((Timer)evt.getSource()).stop();
}
关于java - 使用 Timer 类时出错,需要简单的方法来制作倒数计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24816652/