I’ve just finished presenting my JavaOne session on the ribbon component. Thanks to everybody for coming. To all of you who attended but want to see the slides once again, and to those of you who couldn’t attend, here are the slides:

Since there were no animations in the slides, the two versions should be identical.

The test applications shown in the session can be found in the test.* package of Flamingo and Substance Flamingo distribution archives.

I am pleased today to announce the availability of the final release 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.1 for a ride and report any problems in the project mailing lists, forums or issue tracker.

Release 4.1 will be the base for the JavaOne technical session 4143 that will be held next Thursday, June 4th at 13:30 in Hall E 135. If you’re interested to hear about the ribbon and the Swing implementation, as well as in a few ribbon tricks that you might not be aware about, please drop by.

I am thrilled today to announce the availability of the final release 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 releases:

You are more than welcome to take Substance 5.2 for a ride and report any problems in the project mailing lists, forums or issue tracker.

Sample screenshots of Substance 5.2 in action:

Concluding the series on adding animations to enable rich interactivity expected from modern Swing applications, here is what we have seen so far:

  • Part 1 – adding simple animation behavior to such scenarios as component appearance (fade in), rollovers and window disposal (fade-out) using built in and custom class attributes and setters.
  • Part 2 – adding animated load progress indication while the application is loading data.
  • Part 3 – loading the album art matching the specific search string and asynchronously displaying the associated images.
  • Part 4 – scrolling the album covers showed in the container and adding animations to the scrolling.
  • Part 5 – complex transition scenarios.

How can you run this code locally?

  • Get the latest SVN snapshots of Trident and Onyx
  • The Onyx distribution contains the lib/amazon.jar. It has been created with the following steps:
    • wsimport -d ./build -s ./src -p com.ECS.client.jax http://ecs.amazonaws.com/AWSECommerceService/AWSECommerceService.wsdl .
    • jar cvf ../amazon.jar .
  • Get an Amazon E-commerce key
  • Run the org.pushingpixels.onyx.DemoApp class, passing your Amazon key as the only parameter to this class, adding the Amazon, Trident and Onyx classes to the classpath

If all went right, you should see the main application running and displaying Sarah McLachlan albums as in this video:

I hope you enjoyed this series. If you’re interested in adding rich animations to your Swing applications, you’re more than welcome to explore Trident and Onyx and report any bugs and missing features in the project forums and mailing lists.