我只是想知道如何在本地创建的计时器上调用取消或清除,即我的计时器是在按钮测试上创建的:
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上调用它。
答案 0 :(得分:2)
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()
答案 1 :(得分:1)
let d: ArraySlice<Int> = ArraySlice(b.map { $0 as! Int })
Timer中没有Timer timer = new Timer(1000, null);
timer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// ...
timer.stop();
// ...
}
});
timer.start();
或cancel()
方法,因此我以存在的purge()
进行了演示。