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

标签 java swing timer compiler-errors

我完全按照写的那样使用了 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/

相关文章:

java - 如何设置卡片布局的位置和大小?

java - 为什么我看不到 JComponent 添加到 JFrame 中?

java - 控制与另一个单元格 GridBagLayout 的单元格间距

java - 获取精确时间间隔的 GPS 位置

javascript - 在 Javascript 中制作一个计时器,从 00 :00:00 开始

Java 的类型是什么(long a - double b)

java - 识别新创建的文件并处理它们

java - 具有 super 泛型的代码无法按预期工作

java - 我安装了 Vaadin eclipse 插件,但在新菜单和首选项中都看不到它

java - 如何在2个定时器之间互换?在 Java 图形用户界面中