One of the things I incorporate into all of my Java Swing applications is the JGoodies Look and Feel. I feel that it gives my Swing apps a much cleaner interface, especially when run under MS Windows. The applications will feel a little bit more like a standard Windows Application to the end user.
Furthermore, incorporating the JGoodies Look and Feel is EXTREMELY easy. I feel that may be it's best feature! You can literally download the JGoodies Looks package and integrate it into your application in less that 15 minutes. I will explain how below.
1) First download the JGoodies Looks library from http://www.jgoodies.com/downloads/libraries.html.. You do not need to download the JGoodies Animation, JGoodies Binding, JGoodies Forms, or JGoodies Validation libraries. These are great libraries you can incorporate into your app, but for today we're only concentraining on JGoodies Looks.
2) Unpack the JGoodies Looks library, and extract the looks-2.1.3 jar file. Put this jar file into your java project's classpath.
3) Next we add the necessary code to your application to tell it to use the JGoodies Looks. First, in the main execution point to your application (The class you run with the main method), add these two import lines:
import com.jgoodies.looks.LookUtils; import com.jgoodies.looks.Options;
And then, somewhere near the beginning of your main method, before your Swing forms are opened, call the following code:
UIManager.put(Options.USE_SYSTEM_FONTS_APP_KEY, Boolean.TRUE);
Options.setDefaultIconSize(new Dimension(18, 18));
String lafName =
LookUtils.IS_OS_WINDOWS_XP
? Options.getCrossPlatformLookAndFeelClassName()
: Options.getSystemLookAndFeelClassName();
try {
log.info("Look and feel name:"+lafName);
UIManager.setLookAndFeel(lafName);
} catch (Exception e) {
System.err.println("Can't set look & feel:" + e);
}
4) Run your application and see the difference in your forms. I find that tables, buttons, and tabs will now look much nicer.
Now for the screenshots!
An example of my application login screen using JGoodies is:
[img_assist|nid=19|title=TimaFramework Login Screen With JGoodies|desc=|link=node|align=center|width=331|height=202]
And now an example of my login screen without the JGoodies Look and Feel:
[img_assist|nid=20|title=TimaFramework Login Screen Without JGoodies|desc=|link=node|align=center|width=331|height=202]
Notice on my login screen using the JGoodies Looks how the buttons and fonts appear a little crisper. My next example will show a the difference in a simple screen with a table.
First, I show my application parameters maintenance screen with JGoodies Looks:
[img_assist|nid=21|title=TimaFramework Application Parameters Screen With JGoodies|desc=|link=node|align=center|width=640|height=169]
And now an example of my application parameters screen without the JGoodies Look and Feel:
[img_assist|nid=22|title=TimaFramework Application Parameters Screen Without JGoodies|desc=|link=node|align=center|width=640|height=169]

del.icio.us
Digg
StumbleUpon
Comments
Don't forget about themes.
JGoodies, support a lot of color themes too. and Clearlook for crispy clear fonts. JGoodies really shine with JDK 1.6 which has much improved swing libraries.
JGoodies Forms
And don' forget the other JGoodies libraries Forms, Binding and Validation. Especially Forms is a great replacement of GridBagLayout.