Java 如何停止摆动计时器?
我的代码有问题,因为我无法停止swing.timer //这里有一些代码 我试图放一个if语句,但它不起作用Java 如何停止摆动计时器?,java,swing,timer,Java,Swing,Timer,我的代码有问题,因为我无法停止swing.timer //这里有一些代码 我试图放一个if语句,但它不起作用 Static int gScore = 1000; t = new Timer(100, new ActionListener() { public void actionPerformed(ActionEvent e) { score01.setText("score: " + gScore); gScore--; } });
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中您的计时器应为最终计时器
t.cancel();
t.purge();
在声明计时器时,将其设置为final
final Timer t = new Timer(...)
您应按以下方式更改代码:
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();
这些代码甚至无法编译。你将不得不说的不仅仅是“它不起作用”。把调试语句放在那个里,看看发生了什么。请格式化代码,然后发布完整的方法。你们是什么意思?我应该把t.取消();在if语句中?我已尝试缩进您的代码,但您的代码中到处都有多余的大括号,请先将所有代码放在一起,然后我们才能定义确切的添加位置;)我这样做了,但并没有解决我的问题。因为我不能在gScore后面放if语句--;我只能将if语句放在})之后;尽管如此,它并不是workTimer变量必须声明为final或类的成员变量<代码>计时器=(计时器)e.getSource()代码>