After much hoop jumping, I am pleased to announce that Substance 6.2 (codename Invincible) has been pushed to the Maven Central repositories. This is a maven only release (meaning I am not spinning any other distro jars).
What is Insubstantial?
Insubstantial is a maintenance fork of some of Kirill Grouchnikov's swing based projects. Specifically Substance, Trident, Flamingo, and some supporting project. These are not Kirill's 'official' releases but he has expressed that he is unlikely to do any more official releases.
How do I get it?
The best way is to use them directly from the maven repository (via Gradle, Maven, Ant+Ivy, or other maven repository aware build tool). The group id is
com.github.insubstantial. For all of the released projects the version is
6.2. This is a bit of office 6.0 version bumping, but it makes it easier to determine which jars are meant to run with each other.
The artifact names are the same as the original project. I had contemplated renaming them, but after messing with numerous JNLPs decided it was better for compatibility if the jar names were as close as possible to the original jars. The artifacts are as follows:
- trident [ jar | sources |javadoc ]
- Trident Animation Library.
- laf-plugin [ jar | sources | javadoc ]
- A swing component enhancement framework.
- laf-widget [ jar | sources | javadoc ]
- Swing component enhancements.
- substance [ jar | lite | tools | sources | javadoc ]
- A custom look and feel for Swing.
- flamingo [ jar | sources | javadoc ]
- A Ribbon component and other supporting components.
- substance-flamingo [ jar | sources | javadoc ]
- Substance customizations to some Flamingo components.
- substance-swingx [ jar | sources | javadoc ]
- Substance customizations to some SwingX components.
Not a whole lot code wise or feature wise was added in this release.
- Gradle - the codebase has been adjusted to use Gradle as the build system. This has allowed for seampless deployment into the maven repositories. For Trident, laf-plugin, and substance-swingx this represents the entirity of the changes
- Maven Distribution - this deserves it's own bullet point. The jars are available from day one in the maven repositories.
- NPE Bugs - most of the code changes are to deal with possible null pointer exceptions. No one in their right mind would use a JTable as a table cell renderer, but it does happen in the wild.
- Flamingo API addition - a patch from Jonathan Gileswas applied to allow commands to be removed from the ribbon.
- Java 7 fixes - there is a bug fix in Java's Color Choosers that broke substance 6.1. This is fixed in Substance 6.2, so it should run on Java 7 now!
Can I see it do stuff?
Yes you can, there are several JNLP demos that I have managed to stand up over at github.
- Trident -
Watch the button text slowly change color. (I do mean slowly.) [Source]
Self-running fireworks. [Source]
Blue progress cylon. [Source]
Blocks light up and fade chasing your mouse cursor. [Source]
Stars light up and fade following your mouse cursor. Sorry, no unicorns. [Source]
- Substance and Flamingo -
A hodgepodge of Widgets
A Ribbon Demo.
What about me?
What about you? Well, being open source patches are always welcome! The code is being hosted at Github so forking, soing your own thing, and posting a pull request should be very easy. There's giant tasks to do, such as updating the look to match Office 2010 and Windows 7. Administrative tasks, such as making the existing web content work on github. And creative tasks, sush as creating new color schemes and skins. In a couple weeks I'll figure out what I intend to do, and also some ideas for those who might want to congribute but don't know where to start.
Until later [insert witty postscript here]