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 に答える