In this excerpt from SourceBeat'sI haven't read it myself yet, but it seems to be very good. A great reference with a lot of examples.
Java Desktop Live, Scott Delap begins by giving you an up-close look at the event dispatch thread (EDT), which is responsible for dispatching events to the appropriate Swing component and for performing the paint operations of Swing components. It doesn't take long for even experienced programmers to lock up the user interface or dramatically slow down the responsiveness of a Swing application. This excerpt takes a close look at the Swing threading model and provides advice and examples for getting the most out of your Swing application.