gpt4 book ai didi

java - 当定时器为 0 时改变帧

转载 作者:行者123 更新时间:2023-11-29 05:51:40 25 4
gpt4 key购买 nike

我做了一个计时器,当它为 0 时我想改变帧。它有效,但同一帧不断弹出并且不会停止。

检查 if 和 else 部分。

class SetTimer {
private static final int TIMER_PERIOD = 1000;
protected static final int MAX_COUNT = 5;
private GameLuncher info;
private int count;

public SetTimer(GameLuncher gameLuncher) {
this.info = gameLuncher;
String text = " " + (MAX_COUNT - count) + " ";
gameLuncher.setCountDownLabelText(text);
}

public void start() {
new Timer(TIMER_PERIOD, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (count < MAX_COUNT) {
count++;
String text = " " + (MAX_COUNT - count) + " ";
info.setCountDownLabelText(text);
} else {

((Timer) e.getSource()).stop();
new GameLuncher().setVisible(false);
new MainFrame().setVisible(true);

}
}
}).start();

}

}

最佳答案

正如 David Pärsson 所说,“new GameLuncher().setVisible(false)”不会隐藏已创建的可见 GameLuncher 实例,而是创建一个新的 GameLuncher 并将其隐藏。

我建议:

   ...
} else {
((Timer) e.getSource()).stop();
info.setVisible(false);
new MainFrame().setVisible(true);
}

关于java - 当定时器为 0 时改变帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13657867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com