1

我用一些自定义操作创建了一个名为 Timer 的类。

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

因此,我将“My”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);

但它也没有用

4

1 回答 1

2

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

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

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

重要链接:

于 2013-04-23T17:52:45.197 回答