I am pleased today to announce the availability of release candidate for version 4.1 of Flamingo component suite (code-named Guenivere). It is a stabilization release that adds a few minor features and fixes all known bugs.

Here is the list of minor features added in release 4.1:

  • Multi-row controls in ribbon bands
  • Rich tooltips for ribbon band expand buttons
  • Horizontal alignment for wrapped ribbon components
  • Internal tracking of disabled state of popup / action areas on command buttons for selecting the correct displayed icon
  • Tree breadcrumb adapter class is now abstract to enforce applications to provide the segment caption

To see the Flamingo ribbon component in action under core look-and-feels, run the following WebStart demo:

To see the Flamingo ribbon component in action under Substance look-and-feel, run the following WebStart demo:

If you want to test the ribbon in your applications, you would need the following (the last two only for applications running under Substance look-and-feel):

You are more than welcome to take Flamingo 4.1RC for a ride and report any problems in the project mailing lists, forums or issue tracker. The final release is scheduled for May 25. Only bugs will be fixed until that date.

I am extremely pleased today to announce the availability of release candidate for version 5.2 of Substance look-and-feel (code-named Quebec). The release notes for version 5.2 contain the detailed information on the contents of this release which include the following:

Click on the button below to launch a signed WebStart application that shows the available Substance features.

The following sub-projects are also available as release candidates:

You are more than welcome to take Substance 5.2RC for a ride and report any problems in the project mailing lists, forums or issue tracker. The final release is scheduled for May 25. Only bugs will be fixed until that date.

Sample screenshots of Substance 5.2 in action:

The latest weekly drop of JDK 7 (b57) has finally exposed the functionality of translucent and shaped windows as publicly supported APIs on the java.awt.Window class. Bug 6802853 has tracked the progress of exposing these APIs previously available in 6u10+ in the internal com.sun.awt.AWTUtilities class, and it’s time to update the examples to use the new public APIs.

To recap, here are the previous entries that used the AWTUtilities class:

All the source files referenced in these examples have been updated to use the new Window APIs, and here is a brief overview of the relevant API signatures:

  • AWTUtilities.isTranslucencySupported(Translucency) is now GraphicsDevice.isWindowTranslucencySupported(WindowTranslucency).
  • AWTUtilities.isTranslucencyCapable(GraphicsConfiguration) is now GraphicsConfiguration.isTranslucencyCapable().
  • AWTUtilities.setWindowShape(Window, Shape) is now Window.setShape(Shape).
  • AWTUtilities.setWindowOpacity(Window, float) is now Window.setOpacity(float).
  • AWTUtilities.setWindowOpaque(boolean) is superceded by Window.setBackground(Color). Passing the new Color(0, 0, 0, 0) achieves the old effect of installing per-pixel translucency.

You can see the Javadocs of the new Window methods in the corresponding Mercurial diff, or in the source archive bundled with the b57 installer.

Note that the com.sun.awt.AWTUtilities class is still there, and calling its API methods still produces the correct visuals. A quick look at the implementation reveals that the AWTUtilities methods do not (yet) go directly to the new Window methods, perhaps converging deeper in the AWT internals.

In addition to bug fixes and performance improvements in Substance 5.2 (code-named Quebec), there are a few new skins, such as Dust and Dust Coffee. Twilight skin joins the ranks in the latest 5.2dev drop, and it is inspired by the color schemes of the Bespin web code editor spearheaded by Ben (@bgalbs) and Dion (@dalmaer). If you want to take it for a spin, click on the WebStart button below:

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

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

Here are a few screenshots that show this new 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. Release candidate for Substance 5.2 is scheduled for May 11 and the final release is scheduled for May 25.