Red Hat Bugzilla – Bug 459926
Review Request: swing-worker - Long running Swing GUI interacting tasks
Last modified: 2008-10-12 11:35:57 EDT
Spec URL: http://cassmodiah.fedorapeople.org/swing-worker-1.2-1/swing-worker.spec
SRPM URL: http://cassmodiah.fedorapeople.org/swing-worker-1.2-1/swing-worker-1.2-1.fc9.src.rpm
When writing a multi-threaded application using Swing,
there are two constraints to keep in mind:
(refer to How to Use Threads for more details):
* Time-consuming tasks should not be run on the Event Dispatch Thread.
Otherwise the application becomes unresponsive.
* Swing components should be accessed on the Event Dispatch Thread only.
These constraints mean that a GUI application with time intensive computing
needs at least two threads:
1) a thread to perform the lengthy task and
2) the Event Dispatch Thread (EDT) for all GUI-related activities.
This involves inter-thread communication which can be tricky to implement.
SwingWorker is designed for situations where you need to have a long
running task run in a background thread and provide updates to
the UI either when done, or while processing.
This project is a backport of SwingWorker included into 1.6.