我完全按照编写here的方式使用了java 7类文档。难道我做错了什么?我正在尝试编写一个计时器,从10倒数到0,并在倒计时显示计时器编号。我的intelliJ告诉我,当我创建一个新的Timer类并传入构造函数的延迟和taskPreformer时
计时器java.lang.String,计时器中的boolean不能应用于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();
答案 0 :(得分:6)
您导入了错误的Timer
。有java.util.Timer
个参数(String, boolean)
不是您想要的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();
}