SwingBuilder
Most Java developers I know hate Swing UIs with a passion. The reason people hate Swing is because of the APIs. Let's face it, Swing UIs are a chore to build and maintain, due to the unwieldy nature of the Swing APIs.
Any Swing app I've ever worked on has been a mess of component initialization code, intermingled with anonymous inner classes for event handling. Each Swing component, however small or insignificant, has to be renewed and given a name. Figuring out how all of the components nest together, when some such as button groups and panels may not even be visible, is an endless chore.
The following is a UI built with SwingBuilder
that puts a simple UI onto the GeeTwitter
searching DSL from the last chapter. You can see in the forthcoming screenshot how the markup mirrors the actual layout in the UI. Closures are used in place of anonymous inner classes for events such as actionPerformed
on the Exit menu. This took less than five minutes to throw together, and unlike a pure...