如果我已经拥有自己的Timer类,如何开始使用javax.swing.Timer?

时间:2013-04-23 17:51:37

标签: java swing timer

我创建了一个名为Timer的类,其中包含一些自定义操作。

然后我发现有一个类javax.swing.Timer可以满足我的需要。

所以我将“我的”Timer类重命名为另一个名称(使用NetBeans中的Refactor按钮),并在其中执行类似的操作:

Timer timer = new Timer();
timer.schedule(new SayHello(), 5000);

但它不起作用 - 它给出了构造Timer需要一些我的旧类需要的变量的错误。所以它指的是旧类,而不是javax.swing.Timer。

任何人都可以告诉我发生了什么事吗?

试图这样做:

javax.swing.Timer timer = new javax.swing.Timer();
timer.schedule(new SayHello(), 5000);

但它也不起作用

1 个答案:

答案 0 :(得分:2)

在尝试编码之前,您需要查看Swing Timer API。它没有我所知道的schedule(...)方法,你不能只是编制方法并期望它们能够工作。

Swing Timer只有一个构造函数,需要你传入一个int延迟和一个ActionListener,每个delay ms调用一次actionPerformed方法:

int delay = 1000; // 1000 ms == 1 second
javax.swing.Timer myTimer = new javax.swing.Timer(delay, 
       new MyTimerActionListener());
myTimer.start();

重要链接: