One of the biggest gripes about java is the Swing support. Unfortunately, swing does not provide training wheels. Its easier to create a bad swing application than a good one. A good example is IntelliJ IDEA. The problem is typically a lack of understanding of various advanced swing topics by new developers. A few issues lacking in previous JDKs have made developers experiences difficult and has tarnished the view of swing development but once you understand the various concepts it becomes enjoyable.
Anyway, the whole point of this post was that I rediscovered the Client Java blog. In my opinion, it is a significant resource to keep up to date with Swing advancements. It is a community blog focused on various technology and concept advances in java for clients.