Java House
Crovatto - JcLafChooser
Italiano     English

JcLafChooser Version 1.0.0

February 2009, by Crovy

JcLafChooser is software that allows you to choose from, so very simple, the LookAndFeel that will be used by Java programs.


But since we begin ......!

In programs written in Java, you can change the look and feel simply by selecting one of the many LookAndFeel made available for the Java platform by Sun and from others.

What is a LookAndFeel (commonly abbreviated as "LAF" or "L&F")?

Simplifying a lot, is a class that defines the look and feel of the various swing objects used in the programs.

Some programs manage inside the selection of LookAndFeel to use, most instead use the default which is the "Metal".

For programs that use the default LookAndFeel, said that they are the majority, you can select a different LookAndFeel with the following methods:

  • As Java VirtualMachine command line parameter, for example "java -Dswing.defaultlaf=com.incors.plaf.kunststoff.KunststoffLookAndFeel -jar JcLafChooser.jar";
  • By specifying the class name in the "" file. In this file write the line "swing.defaultlaf=com.incors.plaf.kunststoff.KunststoffLookAndFeel";

In the first case the specified LookAndFeel is applied only to the program that begin, in the second case is applied to all programs that start in Java. The program JcLafChooser use this second method.

Java is already installing some LookAndFeel with some differences depending on the operating system.


  • Windows:
    • Metal;
    • CDE/Motif;
    • Windows;
    • Windows Classic;
  • Linux:
    • Metal;
    • CDE/Motif;
    • GTK+;
  • Apple: thanks toJP's Web Place for the test.
    • Metal;
    • CDE/Motif;
    • Mac OS X proprietary;

How does work JcLafChooser?

First of all consider the LookAndFeel that the system provides (as seen in the previous list) and then search for new LookAndFeel that are present in the "JAVA_HOME/lib/ext" directory.

Then displays a list of LookAndFeel available, we choose what we prefer (see immediately as you change the look and feel) and, if we want, you can set the default by pressing the button "Write" (modifying the file "

Please note that this push to use the LookAndFeel chosen for all Java programs, except those which have an integrated management of LookAndFeel.

In any case, you must not fear, not caused any damage to your system and if you like, through the JcLafChooser, you can delete this setting through the "Clean" button.

Note that this program writes in "" file which is located in the "JAVA_HOME/lib" and need to be administrators or root, otherwise you receive an error.

If you want to add more LookAndFeel simply copy the file "jar" of LookAndFeel in "JAVA_HOME/lib/ext" of Java Jre that we are using and restart the JcLafChooser.

To see what Java version is running, you can use the JcProperties program to identify the location assigned to the property "java.home".

Example of java.home for Windows: JcProperties-java.home-windows

Example of java.home for Linux: JcProperties-java.home-linux

Not considering LookAndFeel type "SynthLookAndFeel" and "MultiLookAndFeel" as of particular use, and even if you copy to the folder" JAVA_HOME/lib/ext" will not be on the list.

Let's look at some examples of LookAndFeel applied at JcLafChooser program, remembering that to see a properly applied LookAndFeel is always better to restart the program.

Windows with Metal LookAndFeel


Windows with CDE/Motif LookAndFeel


Windows with Kunststoff LookAndFeel


Windows with Liquid LookAndFeel


Linux with Metal LookAndFeel


Linux with CDE/Motif LookAndFeel


Linux with Kunststoff LookAndFeel


Linux with Liquid LookAndFeel


Mac OS X con LookAndFeel Mac


Mac OS X con LookAndFeel Metal


Mac OS X con LookAndFeel CDE/Motif


Here are some links from which to download LookAndFeel:

The program do not require installation procedure, just extract the jar file and run it.

For this program is not currently a manual.

Requires J2SE 1.3 or higher, are not supported versions below.

Use as a library

February 2009, by Crovy

You can also use this program as a library for your Java programs.

There is only one static method that returns an array of LookAndFeelInfo.

Follow a code sample on how to use this library, which of course must be added in CLASSPATH!

// I read a list of installed LookAndFeel UIManager.LookAndFeelInfo[] lafInfo; lafInfo = net.crovatto.jclafchooser.JcLafChooser.getInstalledLookAndFeels(); // make JComboBox with installed LookAndFeel name and select the active LookAndFeel JComboBox lafListJCB = new JComboBox(); String currentLafName = UIManager.getLookAndFeel().getName(); for (int idx = 0; idx < lafInfo.length; idx++) { lafListJCB.addItem(lafInfo[idx].getName()); if (currentLafName.equals(lafInfo[idx].getName())) lafListJCB.setSelectedIndex(idx); }

To Do List Version 1.0.0

February 2009, by Crovy
  • None.

Known Bugs Version 1.0.0

February 2009, by Crovy
  • None.

Change Log

1.0.0 dated 27.01.09
  • First release;


Get JcLafChooser 1.0.0