The default look and feel bundled with Swing (called ‘Metal’) is somewhat ugly and flat-looking. Fortunately, Swing has a pluggable look and feel mechanism that allows developers to entirely replace the default appearance of UI components.
To use a custom look and feel, make sure the L&F’s JAR library is in your application’s classpath and add this in your main() method:
UIManager.setLookAndFeel(“org.your.lookandfeel.class.name”);
There are many look and feels available, some open-source and some commercial. For a complete list, see the excellent website javootoo. In my opinion, two of them really stand out from the others : JGoodies Looks (open-source) and Alloy (commercial)