简体   繁体   中英

Java does javax.swing.Timer run on new thread?

I am using javax.swing.Timer to schedule and run events. But it seems to be freezing the GUI. Just wanted to know whether these events are run on a seperate thread or whether I have to do it myself.

Thanks

"Although all Timers perform their waiting using a single, shared thread (created by the first Timer object that executes), the action event handlers for Timers execute on another thread -- the event-dispatching thread. This means that the action handlers for Timers can safely perform operations on Swing components. However, it also means that the handlers must execute quickly to keep the GUI responsive."— javax.swing.Timer

Emphasis added.

Addendum: SwingWorker was designed for just this scenario. In particular, it offers a convenient way to offload work while periodically reporing progress on the EDT.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM