5
我正在使用javax.swing.Timer来安排和运行事件。但它似乎冻结了GUI。只是想知道这些事件是在单独的线程上运行,还是我必须自己做。Java是否在新线程上运行javax.swing.Timer?
由于
我正在使用javax.swing.Timer来安排和运行事件。但它似乎冻结了GUI。只是想知道这些事件是在单独的线程上运行,还是我必须自己做。Java是否在新线程上运行javax.swing.Timer?
由于
“虽然所有定时器执行利用单个,共享线程(由执行所述第一定时器对象创建)它们等待,为定时器的动作的事件处理程序在另一个线程上执行 - 事件分派线程这意味着定时器操作处理程序可以安全地在Swing组件上执行操作。然而,这也意味着处理程序必须快速执行以保证GUI作出响应。“ - 。javax.swing.Timer
着重号。
附录:SwingWorker
是专为这种情况设计的。特别是,它提供了一种方便的方法来卸载工作,同时定期重新评估EDT的进度。