使用Timer类时出错,需要简单的方法来制作倒数计时器

时间:2014-07-18 03:09:46

标签: java swing timer compiler-errors

我完全按照编写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();

1 个答案:

答案 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();
}