我只是想知道如何在本地创建的计时器上调用取消或清除,即我的计时器是在按钮测试上创建的:
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上调用它。
最佳答案
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()