我在所有课程中使用swing.Timer,并且在所有计时器中都遇到了同样的问题 问题是:我的所有计时器都是第一次运行良好,但是第二次所有计时器都没有停止
这是我所有计时器的代码
Timer timer1;
S= 0 ;
ActionListener taskPerformer2 ; = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
if ( S == 10 ){
// My work
timer1.stop();
}
S++;
System.out.println(S + "A");
};
};
timer1 = new Timer(20, taskPerformer2);
timer1.start();
答案 0 :(得分:1)
直接从事件中检索当前计时器。
public void actionPerformed(ActionEvent evt) {
if ( S == 10 ){
// My work
((Timer)evt.getSource()).stop(); // <-- this was changed
}
S++;
System.out.println(S + "A");
};