Although roughly fourteen years old, this book an essential read for anyone looking to further their understanding of both Swing and Java2D (J2D). Thanks to their unique position, in which they had access to members of the team(s) working on Swing and J2D, the authors were able to include many invaluable tips, tricks, and explanations in each chapter.
Over the years I have written a number of desktop applications and unfinished games which primarily utilized Swing and J2D. Even with a significant amount of time invested in learning, working with, and researching both of these libraries, I felt that my work suffered without a proper understanding of their underlying principles and mechanisms.
By reading through the first two sections, which covered Graphics and GUI Fundamentals and Advanced Graphics Rendering, I finally felt as though I had a more well-rounded knowledge of both libraries and I was able to greatly improve certain aspects of a number of my personal projects. One Aha! moment, while reading through some material on the RepaintManager, led me to realize that one of my projects had re-implemented a number of computationally expensive optimizations that Swing automatically handles if you use the library correctly. That one realization led to a massive render performance gain across the entire project.
If you're ever in a position to buy a new or used copy of this book, then I wholeheartedly recommend that you do so.
- Haase, Chet, and Romain Guy. Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications. Addison-Wesley, 2007.
- Debugging Client Issues
- Java 2D API Overview
- Java 2D Graphics Tutorial
- Wikipedia - Swing (Java)