gpt4 book ai didi

java - java定时器有问题吗?

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

根据另一个线程的建议,我一直在玩计时器类,但并不怎么开心。这是我的代码:

 public void buttonImageReveal(ActionEvent e){

Timer gameTimer = new Timer(100, new ActionListener() {

public void actionPerformed(ActionEvent e) {

repaint();
}
});

String temp = e.getActionCommand();

switch(temp){
case "1":
System.out.println("case1");
((JButton)e.getSource()).setIcon(one);
gameTimer.start();
((JButton)e.getSource()).setIcon(null);
break;

我想要的只是显示为图标的图像与被删除的图像之间有 1 秒的间隔。仅在单击按钮时发生一次。目前按下时我只是得到一个空白按钮?

TIA

编辑:

     public void actionPerformed(ActionEvent e) {
System.out.println(e);
lastImage();

}

});

public void buttonImageReveal(ActionEvent e){

String temp = e.getActionCommand();

switch(temp){
case "1":
((JButton)e.getSource()).setIcon(one);
lastBtn = ((JButton)e.getSource());
gameTimer.start();

break;

它现在正在做它应该做的事,但计时器一直在走,一旦你完成并希望它停止,你该怎么办?!

最佳答案

您设置图标,启动计时器,然后立即删除图标。计时器的 start() 方法几乎立即返回,计时器将异步执行其任务。您需要在 actionPerformed 方法中删除图标。

关于java - java定时器有问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891582/

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