【问题标题】:how to use timer with SwingWorker如何在 SwingWorker 中使用计时器
【发布时间】:2013-01-05 02:06:32
【问题描述】:

需要一个例子,如何在 SwingWorker 中使用计时器?因为不可能像那样将 ActionListener 添加到我的 Timer 中!

private Timer timer = new Timer(100, new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent ae) {

    }
});

消息错误:构造函数 Timer(int, new ActionListener(){}) 未定义

【问题讨论】:

  • Timer in SwingWorker ?... AFAIK,您使用 javax.swing.Timer 执行需要在 EDT 上完成的短任务(尽管您也可以使用 java.util.Timer 和一些 STRINGS attached这是正确的用法),而您将 SwingWorker 用于长时间运行的后台任务,其输出是您想在 EDT 上传达的内容。你不能一起使用它们。
  • 这是@mKorbel 的精彩example。这是一个example
  • 一个更精彩的example

标签: java swing swingworker


【解决方案1】:

您的来源没有任何问题,看起来您正在导入不同的 Timer 类。您在使用 javax.swing.Timer。请参阅此处的API document

可能是您导入了javax.management.timer.Timerjava.util.Timer

【讨论】:

  • +1 是的 IDE 确实搞砸了 Swing Timer 导入和 Timer Task 导入
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-18
  • 2021-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多