Release candidate for Substance 5.0
I am extremely pleased today to announce the availability of release candidate for version 5.0 of Substance look-and-feel. The roadmap for this release has been published in April, and the library has undergone significant internal and external changes to address major performance issues and to ensure the long-term code health of the project.
The release notes for version 5.0 provide detailed information on the major application-facing changes in this version. Some of the applications that have used Substance-specific APIs and client properties or defined a custom skin will have to be modified when upgrading to version 5.0. This was absolutely mandatory to address the performance issues and ensure that the library stays maintainable in the long run. The code has grown a lot of unnecessary complications over the last few releases and had to be significantly refactored to bring it back to a clean and maintainable state.
Here is the list of big changes in Substance 5.0:
- Moving to Java 6 as the minimum runtime requirement.
- Addressing the performance issues. While the first announced drop was 20% faster than release 4.3, the release candidate is 3.5 times faster on static scenarios and 2.7 times faster on dynamic scenarios as measured by the LightBeam testbed.
- New client property to allow using per-window skins.
- Enhanced theming layer.
- Removed 16 VM flags and left only 2.
- Removed 15 client properties, consolidated 3 others into 2 and added 1 new.
- Removed 54 API methods on the main class, pushing some functionality into the theming layer.
- Consolidated theme pack, watermark pack and button shaper pack into the Extras pack that also provides additional skins.
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:
- Substance plugin for SwingX component suite build 1183 from August 31. See test application.
- Substance plugin for Flamingo component suite 3.1RC. See test applications.
- Substance plugin for JIDE common components 2.3.0. Provides support for JIDE button and JIDE split button components in this release.
- Substance Extras pack.
As promised, version 4.3 (the last version that can run on Java 5) is in long-term support mode. At the present moment this version has thirteen bug fixes backported to it from the main development trunk.
You are more than welcome to take Substance 5.0RC for a ride and report any problems in the project mailing lists, forums or issue tracker. The final release is scheduled for September 15. Only bugs will be fixed until that date.
Sample screenshots of Substance in action:






Related posts:
- Release candidate for Substance 4.2 The release candidate for version 4.2 of Substance look-and-feel (code-named Memphis) is available. The list...
- Release candidate for Substance 5.1 I am extremely pleased today to announce the availability of release candidate for version 5.1...
- Release candidate for Substance 5.2 I am extremely pleased today to announce the availability of release candidate for version 5.2...
- Release candidate for Substance 4.1 The release candidate for version 4.1 of Substance look-and-feel (code-named Lima) is available. The list...
September 2nd, 2008 at 10:47 am
Hi Kiril
Congratulations on the release of the rc.
Really looking forward to try it out.
/Anders
September 2nd, 2008 at 11:19 am
“version 4.3 …this version has thirteen bugs backported to it from the main development trunk.”
thirteen bugs backported…errr..thanks?
September 2nd, 2008 at 12:12 pm
Nice work…it *definitely* feels snappier than previous Substance releases, which always had that somewhat “heavy” feeling to them…5.0 is looking very promising.
Amazing work!
September 2nd, 2008 at 1:25 pm
I don’t get the difference between skins and look&feel. I like the Mist Aqua skin, it’s listed under skins, but it is not in the Substance look&feel list.
Keep up the great work.
September 2nd, 2008 at 1:36 pm
Mike – unfortunate wording on my part. This has been corrected.
Anders, Jacek – thanks for the kind words.
Rob – not sure what are you referring to in “look&feel list”. Substance has a number of skins, and each skin can be set in a number of ways. One of the ways is to use a class that can be passed to UIManager.setLookAndFeel. If you have any specific questions, please consider posting them to the project forums or “users” mailing list.
Thanks
Kirill
September 2nd, 2008 at 3:56 pm
Hi, I had been following substance for a few years and this is visually the best release. I will further download and play around!
September 3rd, 2008 at 4:59 am
wow, slick and way fast!
Is substance available in a maven repository somewhere?
September 3rd, 2008 at 6:29 am
Soma – as far as i can tell Substance is not available in public maven repositories. I do not have resources to maintain this part and at the present moment it is left to the interested members of the community.
Thanks
Kirill
September 3rd, 2008 at 10:14 am
The performance improvement is great.
Great Work~
September 4th, 2008 at 3:53 pm
Hello,
Just looked at the WebStart demo, and indeed, it takes much less time to display my app.
One suggestion though, it would be a great idea to set the “Custom” look as a standard LaF (menu Skins->Custom), because it must be one of the best themes I’ve seen on Substance (along with Creme, Raven*, Magma…)
The effects are pretty nifty too.
A thousand thanks for all your work
September 4th, 2008 at 10:14 pm
Hi.
First of all, Thank you for your great work and effort.
In your latest release(s) of substance 5.0. I detected an issue with JTables. I found this around since your 5.0 build of ¿Tuesday?, well I can’t remember. Okay, the thing is that the selected cell isn’t highlighted when SingleSelection Mode is enabled. I tried this in a couple of your skins and the problem repeats. This doesn’t happen with other Look and Feels.
¿Is this a BUG or an expected behaviour? And if it’s the expected behaviour ¿how can I solve the issue?
ThankYou
September 4th, 2008 at 10:23 pm
Marc,
I don’t see the problem that you’re describing in the test application (linked as WebStart button above). If you have a small (<100 lines) reproducible scenario, please create a new issue in the project issue tracker so that i can fix it in time for the final 5.0 release (september 15).
Thanks
Kirill
September 4th, 2008 at 11:25 pm
Hi,
I can’t either see the problem in the webstart application. I’m using the runtime library (Substance 5.0 library) Sept 5 2008 12:52 AM.
I just built a simple app in netbeans showing a jxtable and a jtable with some selected rows. Rows won’t get selected at the JTable but will at the JXTable. (note: I don´t have the substance-swingx.jar in the classpath)
Image:
http://img391.imageshack.us/my.php?image=substancesl3.jpg
It’s a very simple example built in netbeans with the gui editor, and just added:
…UIManager.setLookAndFeel(new SubstanceBusinessLookAndFeel());…
September 5th, 2008 at 1:45 am
Hi
I finally found the issue!!!
If you don’t set the table to not show the grids, selectiong won’t show.
In the webstart demo, comment out the line saying this.table.setShowGrid(false); and voila!
Bye
September 5th, 2008 at 3:19 am
Hi again.
The issue keeps coming up when you have models with less than 9 columns.
So in summary, if the table is showing grids or your model < 9 columns, then the rows won’t highlight.
Sorry for the amount of posts. Hope it helps.
Again, thank you for your useful and selfless job.
September 5th, 2008 at 4:51 am
Congrats Kirill!
I started looking at it last night and it certainly gives a noticeable performance boost – nicely done.
Once I’ve had a chance to run it for a bit, I’ll let you know how it goes.
As always, thank you for your great work!
September 5th, 2008 at 6:21 am
Marc,
Please continue the discussion by opening a bug report in the project issue tracker.
Thanks
Kirill
September 5th, 2008 at 7:07 am
Just submitted the issue. Issue 383.
September 7th, 2008 at 3:23 pm
Really impressive. Not only that it feels smoother that 4.3, also the swingx-plugin will likely prove to be convenient.
Keep up the good work,
S.