Swing Links of the Week revived

January 13th, 2009

Not much time has passed since i’ve announced that the Swing link of the week trail on this blog has come to an end, and Jonathan Giles has decided to step in and continue posting theweekly round-up of the Swing related news.

You can find the first entry of the year on Jonathan’s blog, and he just started twittering about it. So, you’re more than welcome to subscribe to his feed and send your links his way (he has his e-mail on the first entry).

To aid Jonathan in his weekly quest, here are a few places that i used to collect the links:

  • dzone new links
  • java.net blogs
  • javablogs.com custom query (keyword Swing)
  • java.net desktop forums
  • java.sun.com desktop forums
  • javaposse google newsgroup
  • feeds of blogs previously features on the series

The Office Blue skin in Substance look-and-feel has already been reworked to be closer to the original Office 2007 visuals, and this work has continued over the last two weeks to provide an even better visual match.

Here is how the sample Flamingo ribbon application looked like under Office Blue two weeks ago:

and here is how it looks now:

The incomplete list of visual tweaks includes:

  • Glass subdued gradient on the title pane
  • More fidelity in glass gradients on active (rollover, selected, pressed, armed) buttons
  • More fidelity in border gradients
  • More fidelity and subdued glass gradient on the ribbon bands
  • Less contrast between text and arrow color on ribbon command buttons
  • Subdued foreground color of ribbon band footer panels
  • Better contrast between ribbon band content and ribbon band footer panel
  • Colorizing icons of disabled ribbon components

This is still work in progress, but in the meantime you’re welcome to take the latest 5.1dev drop of core Substance (code-named Panama) and the latest 5.1dev drop of Substance Flamingo plugin. Release candidate for Substance is scheduled for January 26 and the final release is scheduled for February 9.

Jitterbug is a visual editor for creating and editing color schemes in Substance look-and-feel. It primarily addresses the scenarios where you need to translate design mockups or emulate existing UI visuals as a Substance skin. Created during the rework of the Office Blue skin, it was used to create and refine all seventeen color schemes currently used in this skin.

The following screenshot shows Jitterbug in action (click to see full size view):

To see the Jitterbug in action, run the following signed WebStart demo:

Here i would like to ask for your feedback. This tool was created to scratch my own itch – it was getting quite tedious creating and tweaking color schemes. I did try to make both flows straightforward and intuitive. However, i cannot be an objective judge of my own creation. As such, i am not detailing any instructions on how to use Jitterbug. If you find yourself stuck in the middle of the process, or the flows do not simply make sense, let me know in the comments.

A few months ago, this posting on the Substance users mailing list has asked for better color matching of icons on disabled buttons. If you do not use the AbstractButton.setDisabledIcon API, the implementation of AbstractButton.getDisabledIcon uses the LookAndFeel.getDisabledIcon to create a disabled icon based on the current button icon. The default implementation of this method uses the GrayFilter class, which, while adequate for the core look-and-feels and most Substance skins, fails short for colored skins such as Autumn or Office Blue.

This has been addressed in the latest 5.1dev drop of the core Substance library. The screenshot below shows how a disabled button looked prior to these changes under Autumn skin (the copy button on the left):

And here is how it looks now:

Here is how the disabled icon looked like under Office Blue before:

And here is how it looks now:

In addition to using the color schemes of the current Substance skin, the new implementation also results in better fidelity to the original icon (especially visible under Autumn above).

Another change in the latest 5.1dev drop of Substance is much better support for themed icons. First introduced about two years ago, and revisited for Flamingo command buttons, it now supports a wider range of core Swing components and provides better rollover animations for Flamingo buttons.

Enabled by using the USE_DEFAULT_THEMED_ICONS client property, it was previously supported only on buttons and toggle buttons. This has been extended to labels, menus, menu items and tabs, along with removing support for per-component configuration. It is now a global property that can be installed on the UIManager.

The new implementation that better preserves the details of icons on disabled buttons also results in crisper and more recognizable icon details for the themed mode. Here is how the themed icons looked before under Autumn:

and here is how it looks now:

Here is how the themed icons looked before under Office Blue (almost unrecognizable, since the color schemes are very washed):

and here is how it looks now:

The support for themed mode has been reworked for Flamingo command buttons as well, bringing them in line with both the visuals and the rollover animation sequences (see the movie below). Here is a screenshot of the ribbon under Office Blue with full color icons:

and here is the same ribbon under the themed mode:

To illustrate the themed mode and rollover sequences in action, click on the following movie:

To see the themed Flamingo ribbon component in action, run the following WebStart demo and select the Use themed icons in the bottom right part of the application:

If you want to test the disabled and themed icons in your applications, you would need the following (the last two only for applications using Flamingo components):