0

我的代码有问题,因为我无法停止 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 中

4

2 回答 2

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();
于 2013-10-15T08:57:09.593 回答
0

你的计时器将是最终的

t.cancel();
t.purge();

并在声明您的计时器时,将其设置为最终

final Timer t = new Timer(...)
于 2013-10-15T07:56:05.877 回答