Java Enterprise Architect, open source and Linux fan. Jacek has posted 11 posts at DZone. You can read more from them at their website. View Full User Profile

Swing JavaBuilder 0.3 Final

  • submit to reddit
Montreal, Canada

I am happy to announce the 0.3.FINAL release of the Swing JavaBuilder engine:

Swing JavaBuilder is a library for building Swing interface via YAML (which is way much less verbose than XML or JSON), allowing you to drastically cut down on the amount of lines of Java code required. Besides handling all of the usual Swing pain points (code verbosity, thread management, internationalization, databinding, input validation, to name a few), we also offer an innovative layout DSL that runs on top of MigLayout and makes IDE-specific GUI builders (like Matisse) obsolete.

I am proud to say that a lot of work in this release went into writing end-user documentation (we do not want to be one of those open source project where you need to look at Javadoc to figure out to use it) and the end result is our PDF book "Swing JavaBuilder : Achieving maximum productivity with minimum code via declarative UIs":





Average: 5 (1 vote)
Published at DZone with permission of its author, Jacek Furmankiewicz.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Jacek Furmankiewicz replied on Thu, 2009/03/26 - 6:33am

I am also looking for community feedback on which features should be included in the next version, which will be a full long-term 1.0 release.

 Please leave any suggestions or comments in our forum:

 Thanks, Jacek

Alexandre Navarro replied on Tue, 2009/03/31 - 7:22pm

I used SwingJavaBuilder for a POC (proof of concept) in my firm because I needed to rewrite a GUI quickly and we have a huge debate on productivity to make GUI in Java (by the hand or with Matisse) versus C# with Visual Studio.

 I made some GUI in java by the hand or with Matisse and C#  (I'm not an GUI expert) before and I tried after SwingJavaBuilder (it seems to be interesting).

 And honnestly, after use it, I can't use another framework to make GUI anymore.

Why? I will try to explain in 5 points :

1) Productivity : if you type quickly, you write faster than drag and drop a GUI Builder after 2-3 hours of learning (and also by the hand).

2) Maintenability et powerfull: thanks to the VDSL of Swing Java Builders above MigLayout, the killer feature of Swing Java Builders, you can write easily a complex GUI (not really possible with Matisse Builder like) and maintain it easily (not really possible when you write GUI by the hand).

3) Concise View : the view in yaml is so elegant and concise, not verbose like xml, not }}}}}}}}}}}}} like JSON or java by the hand. I rewrote a Panel from java by the hand with miglayout to Swing Java Builder. The code of the view has passed from 500 lines (in java) to less than 80 (in yaml). It also force to separate View (yaml) from Controller (java).

4) IDE Independance : who writes a GUI in IDE and have a lot of problems when he wants (or was forced) to change the version of IDE (VS2003 -> VS2005) or IDE (JBuilder)? Me, maybe you?

5) Extensible : Java Builders uses the others frameworks like beansbinding, commons-validator, miglayout (also SWT and jface if you prefer, maybe a day above JavaFX or GWT or a web framework). If you want to write a part of your GUI by the hand, you can (not really possible with Matisse Builder like). There is also a project with some extentions Swing Java Builders like SwingX, Jide or MyDoggy (

For these reasons, in my firm (an famous Investment Banking), we decided to rewrite a Real Time Trading Application from C# WinForm (VS 2003, difficult to migrate to VS2005) to Swing Java Builder, we are happy with it.

Try it, you will adopt it and you will not waste time to write and maintain GUI.

Alexandre Navarro

 PS : Thanks to Jacek who writes an amazing GUI framework with a lot of innovative ideas (yaml for view, VDSL above miglayout for layout ...)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.