Here is what I use:
- "Framework": Swing Application
Framework, does not do much, but does
it quite well (if you use it you may
want to take a look at one
presentation I did last year)
- JTables: handling tables is often a
pain (lots of boilerplate code...); I
generally use GlazedLists which
simplifies the work a lot (and brings
many improvements)
- EventBus: this was mentioned in
another answer
- LayoutManager: DesignGridLayout
(shameless plug, this is one of my
open source projects)
- Look & Feel: Substance is very good
in some situations where you don't
want to use the system look and feel
- Docking library: if your application
needs docking, you will find MyDoggy
useful (and it has a well-written
API). One problem it has is a bad integration with some third-party look and feels (like Substance)
All these libraries above are open source.
In addition to that, I have my own set of utility classes that, among other things, help integrating the GUI with a Dependency Injection library: I have a set of utilities for HiveMind container (for the few developers that know it and still use it), and another -in preparation, soon open sourced- for Guice.
I have read no specific book about Swing development, but I have used Swing for about 10 years now (not continuously however). Hence I have no recommendation in terms of books (unfortunately, because I admit that this is one weak point of Swing).
"Filthy Rich Clients" book is useful only if:
- you know Swing well
- you want to build "fancy" GUIs