我的代码有问题,因为我无法停止swing.timer
//这里有一些代码
我试着写一个if语句,但它不起作用。
Static int gScore = 1000;
t = new Timer(100, new ActionListener() {
public void actionPerformed(ActionEvent e) {
score01.setText("score: " + gScore);
gScore--;
}
});
t.start();
t.setRepeats(true);
if(gScore== 970){//A
t.stop();
t.setRepeats(false);
}//A
我希望在达到给定值时停止计时器并将其移除到JFrame
中答案 0 :(得分:0)
您的计时器将是最终的
t.cancel();
t.purge();
并在声明您的计时器时,将其设置为最终
final Timer t = new Timer(...)
答案 1 :(得分:0)
您应该按照以下方式更改代码:
static int gScore = 1000;
final Timer t = new Timer(100, new ActionListener() {
public void actionPerformed(ActionEvent e) {
score01.setText("score: " + gScore);
gScore--;
if(gScore== 970){//A
t.stop();
}//A
}
});
t.start();