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

Krz*_*tof 2 java swing compiler-errors timer

我完全按照这里编写的那样使用了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();
Run Code Online (Sandbox Code Playgroud)

Pau*_*tha 6

你导入错了Timer.有一个java.util.Timer参数(String, boolean)不是Timer你想要的.你想定时器是javax.swing.Timer,它确实有争论(int, ActionListener).所以修复进口

//import java.util.Timer;  <-- take out
import javax.swing.Timer;
Run Code Online (Sandbox Code Playgroud)

此外,您可能需要一些停止条件才能停止计时器.也许是这样的

if (count > 0) {
    count--;
} else {
    ((Timer)evt.getSource()).stop();
}
Run Code Online (Sandbox Code Playgroud)