My “party of one” series of articles about one-man open source projects has been reprinted in an abridged form over at JavaWorld.com. Those of you who missed it the first time can either read the shorter version linked above or spend more time on the full series:
I’ve said it a number of times before, and i will repeat myself once again – interacting with your users and promptly addressing the bug reports is of paramount importance to the long-term success of your project. I’ve looked at the Issue tracker of Substance look-and-feel for some numbers on how do i live up to my own words, and here it is.
The numbers below are for 365 reported issues, 132 of which were determined to be valid bug reports.
- 121 (92%) addressed the same day or the next day.
- 130 (98%) addressed in three days or less.
- 95 (72%) fixed the same day or the next day.
- 104 (79%) fixed in three days or less.
Of course, i would like to see the last two numbers cross above 80%, or even into the 90%.
Here are some Swing links that you might have missed during this week:
- Jacek Furmankiewicz has announced the first beta release 0.1 of his SwingBuilder project. It provide support for data binding with Beans Binding, layout management with MigLayout, validation with Apache Commons Validator, long running tasks with SwingWorker and has integration libraries for JIDE and SwingX.
- Maxim Zakharenkov has released version 1.2 of the Swing Explorer tool for debugging Swing applications. Eclipse support is a welcome addition, and in fact i would warmly recommend rewriting the entire UI as a collection of Eclipse views. In my experience, Eclipse is a great scaffolding for exactly this kind of information presentation, taking away a lot of implementation complexity and leaving you with implementing your actual logic. As long as you don’t fight it and try to go against the “Eclipse way” of doing things, you’ll find it a very mature and rich platform. In addition, learning another UI toolkit (SWT) is not a bad thing.
- Collin Fagan writes about using tooltips to show preview of tabs in a tabbed pane. Users of Substance look-and-feel had access to this functionality for quite some time now, and Collin shows how this can be done in a cross-LAF way.
- Ayman Al-Sairafi is working on the JSyntaxPane component that provides a text control with syntax highlighting for Java, Groovy, XML and JavaScript. It follows in the footsteps of jEdit Syntax package and Apache Batik XML editor kit (contributed by Kiyut) and is available under the Apache license.
- There’s a new Swing book out there! Tim Lavers and Lindsay Peters have written a book “Swing Extreme Testing” published by Packt Publishing. From the book site – This book is a practical guide to automated software testing for extreme Java programming using Swing GUIs, with lots of ready-to-use real-life examples and source code for automated testing of the software components usually regarded as too hard to test automatically.
- David Qiao and Wolfgang Zitzelsberger have announced integration between JIDE components and Synthetica look-and-feel.
- Richard Kennard has announced release 0.5 of the Metawidget project that takes domain objects in your applications and creates the UI widgets for them. It has support for SwingX, GWT, Groovy and applets.
- Andy Maleh introduces the Glimmer project that aims to create a JRuby DSL for creating cross-platform UIs with SWT.
- Peter Karich kicks off the series of articles on Spring Rich Client Project. Unlike server-oriented Spring projects, this has not seemed to receive nowhere as many resources to be actively targeting the major paint-points of rich client development. Answering the “when will 1.0 be released” with “when it’s ready” is not a good sign, and one of the commenters says that the plans are to rebrand it to Spring Desktop without “being bound to the current codebase”. If you’re planning to break backwards compatibility and have good reasons to do so – just say it as it is.
- David Qiao writes about adding arrow key support to the ButtonPanel component. Alexander Potochkin had a similar functionality in the JXButtonPanel a couple of years ago.
- Rajesh has a list of ten free docking frameworks for Java UI applications. One addition to the list comes from Davide Raccagni that has announced the new P74 graphical library. It contains a docking manager as well as a few other tools.
As specified in the roadmap for version 5.0 of Substance look-and-feel, a number of the existing Substance plugins have been consolidated into the Extras pack. This pack contains additional color schemes, watermarks and skins, as well as a mixed color scheme and a mixed gradient painter. The documentation for the Extras pack contains the information about the available features, and you can run the WebStart application below and select the skins from the “Skins” menu.

The plugin itself can be downloaded here, and once you add it to your classpath, the new skins will be available to the applications via the existing Substance APIs. Here are some screenshots of additional color schemes availablein the Extras pack:








Here are a few additional watermarks available in the Extras pack. Note that in version 4.3 these were available in the core distribution. Since using watermarks introduces about 25-45% performance overhead, these have been moved from the core library.




And here are the additional skins





Just around a week ago we welcomed our second kid (and first son) into the family. Now we have one of each kind, and it’s undoubtedly going to be an interesting journey. As they say, having two kids is much more than twice the work, and most probably it is going to affect my open-source efforts in at least the short term. I’m doing this on my own free time, and the priorities in this matter are quite clear. But as you can see from the last three postings, the business is almost as usual, so don’t be too quick to run to the competition :)
Those of you who’re using the various libraries that i develop know that i mostly prefer the very liberal BSD license. This makes them very friendly to both open-source and commercial projects, and i’m quite thankful for all the feedback and bug reports that i get from the projects’ users.
I have added a new button to the project site. Clicking on this button will take you to our Amazon wish-list. If you want to express your thanks for one or more of these projects, support the ongoing efforts being put into them, and make sure that my wife views all the late hours in front of the laptop in a positive light, you’re more than welcome to click through.