java - 如何在将 ImageIcon 放在 JButton 上之间获得延迟?

标签 java swing

placePiece 方法正确地将 ImageIcon 放置在 JButton 上。我希望图像在那里停留一秒钟,然后用不同颜色的 ImageIcon 替换。以下代码的问题是红色 ImageIcon 永远不会出现。发生延迟,然后出现黑色 ImageIcon。我希望出现红色 ImageIcon,然后延迟 1 秒,然后出现黑色。在此先感谢您的帮助。

placePiece(0, 3, "red");
//delay 1 second here
try 
{
    Thread.sleep(1000);
}
catch (Exception exc)  { }
placePiece(0, 3, "black");

最佳答案

我建议您使用 Java 的 javax.swing.Timer

这里有教程:https://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html

在计时器中,您可以通过在speed 下的参数中设置它来轻松获取时间间隔,如下所示。

int speed = 1000;  //delay of 1 second
timer = new Timer(speed, obj);

而且,当你使用Thread.sleep(1000)时,并不能保证它总是延迟1秒。

关于java - 如何在将 ImageIcon 放在 JButton 上之间获得延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32702397/

相关文章:

java - 使用 Amazon AWS Cognito `.well-known/jwks.json` 数据无法对某些字段进行 base64 解码

java - 动态地将 JTable 添加到 JScrollPane

java - 如何使用 Java 7 模式重写 Java 8 Stream()?

java - 如何以编程方式控制不同进程中的 Java Swing 应用程序?

java - Spring MVC + Hibernate + JSP

java - 发送文件时无法更新 GUI

java - Java 中对 MacOS X 的 native Swing 菜单栏支持

java - 选择 JCombobox 时 GUI 卡住,如何在 ActionListener 中使用条件语句在 Swing 应用程序中使用计时器?

Java - SwingWorker - process() 方法中的问题

java - 以正常格式从 google 搜索获取 href - Jsoup