Substance Java look & feel

The goal of this project is to provide a configurable and customizable production-quality Java look and feel library for Swing applications. This Java look and feel is available for JDK 5.0+ only.

The main class is org.jvnet.substance.SubstanceLookAndFeel. In order to use Substance look and feel in your application, you can use one of the following:

In any case, add the latest substance.jar to your classpath. In addition you have the following two lite versions:

Important announcements

Release for version 4.1 (code-named Lima) is available. Release info is available here. Migration guide for applications is available here. Release 4.1_01 provides a fix for defect 276. Release 4.1_02 provides fixes for defect 278, defect 279 and defect 281.

Skins

See skin documentation for information on how to set a skin, create a new skin and plugin a set of new skins in Substance.

Toned-down skins

Business Black Steel Creme Autumn

See more...

Dark skins

Raven Graphite Raven Graphite Glass Emerald Dusk

See more...

Saturated skins

Green Magic Finding Nemo Field of Wheat

See more...

Using themes

See theme documentation for information on how to set default theme, create a new theme and plugin a set of new themes in Substance.

A few examples of various core themes - Olive and Barby Pink:

Olive BarbyPink

Using watermarks

See watermark documentation for information on how to set default watermark, create a new watermark and plugin a set of new watermarks in Substance.

A few examples of various core watermarks - Crosshatch and Mosaic:

Crosshatch Mosaic

Screenshots

Full screenshot gallery is available. In addition, application screenshot gallery shows how various third-party application look under Substance.

ColorChooserUI

The ColorChooserUI in Substance look and feel is taken from the excellent Quaqua look and feel (which is available for Macintosh only). The license for Quaqua is either LGPL or BSD. Kudos to Werner Randelshofer for excellent work and for willing to share his color chooser with this project. The current version is Quaqua 3.7.3.

In addition, the last color chooser panel was written by Luan O'Carroll from Xoetrope's XUI project and is licensed under MPL.

Popup windows

The popup windows in Substance look and feel have automatic support for drop shadows taken from the JGoodies Looks look and feel. The license for Looks is BSD. Kudos to all JGoodies developers lead by Karsten Lentzsch for excellent work. The current version is Looks 2.1.1, while Substance uses the code from version 1.3.2.

Additional resources

Demos

test application that shows all Substance features (signed - requires read-only access to the local disk for showing the filetree).

demo for the transition layout

Notes

In case you wish to use cross-platform frame and dialog decorations, use the following before you instantiate your first top-level window (but after you set the Substance look and feel to be your default): JFrame.setDefaultLookAndFeelDecorated(true); and JDialog.setDefaultLookAndFeelDecorated(true);. This, however, causes flicker on resize due to a known bug. For Windows, there is a workaround, using System.setProperty("sun.awt.noerasebackground", "true");. You can set this property along with the above two lines. An additional option is to specify a substancelaf.useDecorations VM parameter.

In case you wish to build Substance from the sources, you will need to take the laf-plugin and laf-widget (binaries or sources). The best way is to take the CVS snapshot and use the build.xml script. The main test application uses the FormLayout and components from SwingLabs.

Thanks

Supported by Cenqua