If you are new to UI development, Swing is the best choice you've got.
It's simple. - If you are an experienced Java developer, you would find Swing fairly easy to pick up because it's very "Java-ish". No need to write XMLs, properties files, etc...
It's got LOADS of tutorials on the web. - Stuck on something? Just google it and you get lots of results.
It's very generic. - It comes with JDK - no need extra library
It's "lightweight"
It is ready on all Java IDEs - If the
IDE supports the common Java libraries like util, io, math..., I don't see why it doesn't support awt and swing
It is platform independent both in terms of expression (Java) and implementation (Look-and-Feel). - Seriously, it's very easy to switch the look and feel if you want to write a platform independent app.
It's got a good handful of different UI elements for you to choose from.
It is highly extensible and customisable. - You can create/extend your own UI elements easily if that is required.