The decoration areas in Substance look-and-feel are, in my view, one of the more powerful features of the library and allow to programmatically implement even the most demanding visual designs in a well-structured way. The lifecycle of Swing UI delegates is not very well suited to using different foreground and background colors on components of the same type in different parts of the same window, and implementing this properly without affecting the performance is an interesting challenge.

The latest binary drops of Substance 5.2dev (code-named Quebec) provide much better support for renderer-based components, such as lists, tables and trees when these are placed in custom Substance decoration areas. To illustrate this, here is a screenshot of a sample application under Substance 5.1 Business Black Steel skin:

There are four different decoration areas, each having one enabled and one disabled list. The visuals are quite jarring – the contrast between even and odd rows (striping) is too high, and the foreground color of odd rows in the top-left enabled list is black (on black background). Here is how the same app looks under Substance 5.2dev:

The next screenshot shows a sample application with tables under Substance 5.1 Business Blue Steel skin:

In addition to the same problems as above, the table header area is not using the correct color schemes (for all areas except NONE). This is how the same app looks under Substance 5.2dev:

Finally, a sample application with trees under Substance 5.1 Nebula Brick Wall skin:

While it looks as expected, it’s only by looking at the skin definition that you can see it’s using wrong background colors for most of the areas – here is how it’s looking under Substance 5.2dev:

The development of the next 5.2 version of Substance (code-named Quebec) is wrapping up. You’re more than welcome to take the latest 5.2dev binary drops for a spin. The release candidate is planned for May 11, with the final release scheduled for May 25.

Raven Graphite and Raven Graphite Glass skins were added to the Substance look-and-feel about two years ago, and they proved to be quite popular among the media-oriented applications powered by Substance. In the meanwhile, tools such as Microsoft Blend, Apple iPhoto and the TweetDeck client have continued refining and polishing the visuals or their own graphite-themed interfaces, and time has come for a facelift of Substance skins as well.

Here is a screenshot of a sample application under the Raven Graphite skin in the latest stable 5.1 release:

and here is the same application under Raven Graphite in the latest 5.2dev drop:

Here is another screenshot of the same application under the old Raven Graphite visuals:

and the new visuals under the latest 5.2dev drop:

There are three major changes in these screenshots:

  • Light highlight color schemes for lists, tables, trees and menus
  • Lighter and partially translucent inner border painting on the buttons, tabs, checkmarks and more
  • Removing the inner border painting from scroll bars

The same changes have been applied to the Raven Graphite Glass skin. Here is the screenshot before:

and after:

And one more screenshot before:

and after:

If you want to take the new visuals for a spin, click on the WebStart button below and change the skin to Raven Graphite and Raven Graphite Glass from the “Skins” menu:

You’re more than welcome to take the latest 5.2dev drop for a spin and leave your comments.

Substance 5.2 (code-named Quebec) is going to have a few new skins. About a week ago i wrote about the new Dust skin, and today it is joined by the new Dust Coffee skin. If you want to take it for a spin, click on the WebStart button below and change the skin to Dust Coffee from the “Skins” menu:

To use it in your application, you have the following three options:

  • -Dswing.defaultlaf=org.jvnet.substance.skin.SubstanceDustCoffeeLookAndFeel
  • UIManager.setLookAndFeel(new SubstanceDustCoffeeLookAndFeel())
  • UIManager.setLookAndFeel("org.jvnet.substance.skin.SubstanceDustCoffeeLookAndFeel");

While it takes most of the visuals from Dust, it changes the colors of the default decoration area to a light yellowish brown, and uses the active color scheme of the Creme Coffee. In addition, the latest 5.2dev drop brings a few contrast improvements to both Dust and Dust Coffee that address some of the problematic visuals pointed out by Andrey Eremchenko. As before, this is an ongoing process and all core Substance skins continue to be polished throughout the release cycles.

Here are a few screenshots that show the new Dust Coffee skin. A small frame with a tabbed pane and a few different controls:

A frame with menu bar, tool bar and status bar from SwingX project:

A thumbnail of the main Substance test application (click for full-size view):

As with all Substance core skins, this is work in progress and will be polished over time. In the meantime, you’re more than welcome to take the latest 5.2dev drop for a spin and leave your comments. Note that both Dust and Dust Coffee do not play well with the Flamingo ribbon component. This will be addressed in the next major Substance release tentatively planned for autumn ’09.

The third volume of Substance sightings series highlights three gaming applications powered by Substance look-and-feel. The purpose of this series is to highlight the capabilities that Substance brings to Swing applications, and you can visit the first volume published in August ’07 that featured four Swing media-oriented applications, and the second volume published in April ’08 that showcased three open-source audio players.

The first application is WarForge which is a template builder for Warhammer Online. Here is a screenshot of WarForge under the dark Magma skin (click to see full-screen image):

The next application is OGame Automizer – an automated bot for the OGame intergalactic conquest online browser game. Here is a screenshot of WarForge under the Nebula skin (click to see full-screen image):

The last game is the Darkside turn-based strategy game. Here is a screenshot of WarForge under the dark Raven Graphite Glass skin (click to see full-screen image):

If you haven’t tried Substance in your application, you’re more than welcome to do so. The current stable release is 5.1, and the next 5.2 version is available in early development drops.