当我在 JAVA 的定时器中时,我可以停止定时器吗
can I stop timer When I am in Timer on JAVA
我有一个在这个方法中有定时器的游戏方法,仅在某些特定情况下(如果条件如下)我想停止定时器...但由于某种原因它导致我崩溃。
public model() {
public game() {
Timer timer = new Timer(50, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
....
//draw shapes on JFrame
if (model.Life == 0) { //specific condition
model.timer.stop(); //timer is making a crash here
}
repaint();
}
});
timer.start();
}
Timer 是 ActionEvent 的来源,因此您可以这样做:
if (your condition)
{
Timer timer = (Timer)e.getSource();
timer.stop();
}
这样您就不必担心为 Timer 保留一个实例变量。
我有一个在这个方法中有定时器的游戏方法,仅在某些特定情况下(如果条件如下)我想停止定时器...但由于某种原因它导致我崩溃。
public model() {
public game() {
Timer timer = new Timer(50, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
....
//draw shapes on JFrame
if (model.Life == 0) { //specific condition
model.timer.stop(); //timer is making a crash here
}
repaint();
}
});
timer.start();
}
Timer 是 ActionEvent 的来源,因此您可以这样做:
if (your condition)
{
Timer timer = (Timer)e.getSource();
timer.stop();
}
这样您就不必担心为 Timer 保留一个实例变量。