我有一个 JButton,当我点击它时,我想在几秒钟后更改一些颜色,例如从蓝色 -> 1 秒 -> 红色 -> 1 秒 -> 黄色。我的问题是,一旦我在 ActionListener 中使用 Thread.sleep 函数并测试我的程序,它就会卡住 2 秒并直接给我黄色。我该如何解决?非常感谢
最佳答案
ActionListener and Thread.sleep..
..在一起玩得不好。
不要阻塞 EDT(事件调度线程)——当发生这种情况时,GUI 将“卡住”。不是调用 Thread.sleep(n)
而是实现一个 Swing Timer
用于重复任务或一个 SwingWorker
用于长时间运行的任务。参见 Concurrency in Swing了解更多详情。
关于java - ActionListener 和 Thread.sleep,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18164944/