在本地创建的计时器上调用 cancel() 或清除
Calling cancel() or purge on a locally created timer
我只是想知道如何在本地创建的计时器上调用取消或清除,即我的计时器是在按钮测试上创建的:
new Timer(1000, new ActionListener() {
int count = 0;
public void actionPerformed(ActionEvent e) {
if (count == 5) {
lights[0].toggle();
lights[1].toggle();
} else if (count == 7) {
lights[1].toggle();
lights[2].toggle();
} else if (count == 12) {
lights[2].toggle();
lights[0].toggle();
count = 0;
//Ideally, call cancel() or purge here
}
count++;
}
}).start();
如何让计时器在最后一个 if 语句中取消?尝试调用 cancel() 或 purger() 尝试在 Actionlistener 上调用它。
Timer timer = new Timer(1000, null);
timer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// ...
timer.stop();
// ...
}
});
timer.start();
Timer中没有cancel()
或purge()
方法,所以我用存在的stop()
来演示
ActionEvent 继承了一个方法来获取它发生的对象。
...
else if (count == 12) {
lights[2].toggle();
lights[0].toggle();
count = 0;
((Timer)e.getSource()).stop();
}
Cancel()
和 Purge()
是来自 java.util.Timer
的方法,javax.swing.Timer
使用 Stop()
我只是想知道如何在本地创建的计时器上调用取消或清除,即我的计时器是在按钮测试上创建的:
new Timer(1000, new ActionListener() {
int count = 0;
public void actionPerformed(ActionEvent e) {
if (count == 5) {
lights[0].toggle();
lights[1].toggle();
} else if (count == 7) {
lights[1].toggle();
lights[2].toggle();
} else if (count == 12) {
lights[2].toggle();
lights[0].toggle();
count = 0;
//Ideally, call cancel() or purge here
}
count++;
}
}).start();
如何让计时器在最后一个 if 语句中取消?尝试调用 cancel() 或 purger() 尝试在 Actionlistener 上调用它。
Timer timer = new Timer(1000, null);
timer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// ...
timer.stop();
// ...
}
});
timer.start();
Timer中没有cancel()
或purge()
方法,所以我用存在的stop()
来演示
ActionEvent 继承了一个方法来获取它发生的对象。
...
else if (count == 12) {
lights[2].toggle();
lights[0].toggle();
count = 0;
((Timer)e.getSource()).stop();
}
Cancel()
和 Purge()
是来自 java.util.Timer
的方法,javax.swing.Timer
使用 Stop()