Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications
amazon.com
Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications

Using invokeLater() is as simple as passing a Runnable instance whose sole method, run(), contains the code you wish to execute on the EDT.
GUI. If you want a Swing component, including its children and borders, to be completely translucent, then you must change the Composite attribute of the Graphics object passed into the paint() method.