Set Look and Feel for a Swing application


The 'Look and Feel' is the term for the appearance of the graphical user interface of an application and it should be set prior to constructing and rendering any of the GUI. This example shows a couple of variants on how to set the look and feel for a Swing application.
The Java Development Kit contains a few look and feel classes (i.e. subclasses of the LookAndFeel class):

com.sun.java.swing.plaf.gtk.GTKLookAndFeel
javax.swing.plaf.metal.MetalLookAndFeel
com.sun.java.swing.plaf.windows.WindowsLookAndFeel
com.sun.java.swing.plaf.motif.MotifLookAndFeel

You can set any of these by calling the setLookAndFeel() method of the UIManager:


    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel");
        } catch (Exception ex) {
            //Just print stacktrace here since it's an example.
            ex.printStackTrace();
        }
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createTheGUIComponents();
            }
        });
    }


Now if you don't want the same look and feel for every platform but you want the application to adjust to the platform it is currently running on, you can specify that the look and feel for the current system should be used:


    public static void main(String[] args) {
        try {
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        } catch (Exception ex) {
            //Just print stacktrace here since it's an example.
            ex.printStackTrace();
        }
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createTheGUIComponents();
            }
        });
    }

Do you know your Java?
Take a Ten-Question-Java-Quiz!

Bookmark and Share




Need help with your Java code? It's secure and confidential.
This is how it works:
Send a detailed description of what you need help with, the more details the better. Also provide a deadline for when it has to be finished. More time means better chance of putting your request into the schedule.

If the request is serious you will shortly receive an email with the price, to which you have to respond if you accept.

Once you have accepted, the work will begin on developing your code by an experienced Java developer. When the code is finished a link to a secure payment will be sent to you.

The source code is then sent to you once the payment is completed.

IMPORTANT! The request needs to be very detailed, else it may be ignored.


Write your detailed request here:

E-mail address: