我创建了一个名为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);
但它也不起作用
答案 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();
重要链接: