From my (extremely limited) experience, it depends on what you need for your application. Swing seems very well suited for medium to large programs, or programs which will be used by a large number of people, but because of its foot print, seems a little excessive for small applications, or
applets. I would say decide what you need and would expect from your program and use the appropriate libraries. Then again, I have about 6 months experience with
Java GUI programming, so take this with a grain of salt.