Joshua Marinacci opened up a big discussion with his java.net blog entry: Swing has failed. What can we do?. He makes some good points, and the discussion that follows has all sorts of interesting input.
(Comment from ocean): There are plenty of valid reasons to criticize Swing but “Swing is not VB” is not one of them. Swing is **not an application framework**.
This is absolutely correct. SWT has already gotten a lot of praise for its use of native widgets, and IBM may get another leg up with the Eclipse Rich Client Platform, which provides an application framework.
A couple of months ago, I went looking for a Swing GUI app framework. I found several, and spent a fair amount of time with Eclipse. Ultimately, what I went with was a combination of approaches provided by different Swing frameworks. This approach is easy to use, removes none of Swing’s power, and provides good flexibility for your application’s model objects.
Wotonomy (and WebObjects) had the greatest philosophical influence on me, because it eliminates a lot of controller code and provides for an excellent separation of concerns.