Effective Swing Guide for Novice or Expert Alike

Clear, well-presented, comprehensive exploration of all things Swing, with good supporting class documentation.


ORIGINAL DRAFT

I have to admit to a certain level of cynicism when I picked up this book. Having read everything about Swing I could get my hands on, I didn’t really expect to get much out of yet another Swing book. To my great surprise, John Zuokowski has put together a clearly documented, insightful, comprehensive and entertaining exploration of the Swing API, complete with the kind of treatment that offers something new to even the most sophisticated Swing developer. What’s more, the way the material is presented makes this book easily accessible to even novice Swing developers, so I can’t help but recommend it highly for anyone who has or plans to do any Java user interface development.

Typical of a Swing book, the basics are presented up front, including the implications of using Swing 1.1 in Java 1.1 and the Java 2 platform. The second chapter looks at event handling in a way that provides a nice precursor to dealing with properties in the rest of the book. This is seldom explored until much later in most of the Swing books and not nearly as well. From there, we take a quick look at the Model-View-Controller paradigm and on to looking at the various components in sequence. The implications of JComponent-derived widgets are nicely put into perspective early and comprehensively, without overwhelming the reader with apparent complexity. The treatment is elegant and makes most of the material easy to absorb.

When you get deeper into the book, you’ll discover the requisite controls, presented in a well conceived order, typically looking at shared models, managers and other supporting classes without distracting from the focus of each chapter. I especially liked the chapter on Root Pane Containers which are not very clearly explained elsewhere with this kind of detail in fluid prose. The border, layout manager and undo framework chapters are effectively interlaced with the main components in Swing, and sophisticated components like JTree, JTable and the Text components are well explored.

There isn’t much to dislike about this book. The cost is reasonable for an 800 page book and the overall value of this one is much greater. If you’re serious about Swing, there are numerous other good books on the market. This one does a particularly good job and easily rates as one of the better choices you can make. I found the presentation effective, well conceived, clearly explained, with well documented code examples that enhance the material and bring home the more important concepts as painlessly as you could ask for. In short, this is a great buy for any Swing developer.