【问题标题】:ActionListener and Thread.sleepActionListener 和 Thread.sleep
【发布时间】:2013-08-10 18:15:08
【问题描述】:

我有一个 JButton,当我单击它时,我想在几秒钟后更改一些颜色,例如从蓝色 -> 1 秒 -> 红色 -> 1 秒 -> 黄色。我的问题是,一旦我在 ActionListener 中使用 Thread.sleep 函数并测试我的程序,它就会冻结 2 秒并直接给我黄色。我该如何解决?非常感谢

【问题讨论】:

    标签: java swing jbutton actionlistener event-dispatch-thread


    【解决方案1】:

    ActionListener 和 Thread.sleep..

    ..不要一起玩。

    不要阻塞 EDT(事件调度线程)——当这种情况发生时,GUI 将“冻结”。而不是调用 Thread.sleep(n) 实现 Swing Timer 用于重复任务或 SwingWorker 用于长时间运行的任务。详情请见Concurrency in Swing

    【讨论】:

      猜你喜欢
      • 2017-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-03
      • 2012-05-28
      • 2012-05-24
      相关资源
      最近更新 更多