FormLayoutMaker : An easier way to build JGoodies Java forms

If you love Java but you haven't found an elegant way to layout forms then you've come to the right place. I struggled with this for years and always thought that there should be something easier than GridBagLayout. I thought laying out Java Swing forms should be as easy as laying out HTML pages. With FormLayoutMaker, you can easily build complex screens in minutes without a heavy weight IDE. FormLayoutMaker will work in conjunction with any development environment, from NetBeans and Eclipse to VI and Emacs. And for the best part, it's completely free and open source.

A while ago I stumbled onto TableLayout which I thought was a great way to layout forms. After I played with that for a while, I came upon the JGoodies Forms which includes a FormLayout component that takes the TableLayout to an all new level and includes some very powerful features and great documentation. This suite is one of many suites provided by Karsten Lentzsch. JGoodies Forms is open source and it's the best layout I've seen over the years. Even though the FormLayout provided by JGoodies is the best layout manager, I still found that it took a while to create the forms and even longer to make changes later.

FormLayoutMaker is dedicated to providing a WYSIWYG tool that enables developers to quickly layout Java screens using the JGoodies FormLayout layout manager. The result is an xml file containing all of the constraints. If you want to make changes by hand, you can always go and edit the xml file directly. You could also write XSL to convert the xml file back to code. I think it's nice thought to have layout stuff away from my code. I hate it when I have a 1000 line file and 400 of it is layout stuff. This way especially bad when I used to use GridBagLayout with those ridiculous GridBagConstraints objects. That was really ugly.

Here's a screen shot of FormLayoutMaker in action.


What FormLayoutMaker is not...

  • FormLayoutMaker is not a full service RAD tool. It is designed to do one thing well, layout screens. You cannot change colors, fonts, and all of the properties on a control. In my opinion, that stuff should be done using factory methods, through the look and feel, or just done by hand through code.
  • FormLayoutMaker is not a generic layout tool. It is designed only to work with JGoodies FormLayout layout manager. I believe that this layout manager is the best layout manager in existence. Functions like min, max, pref, and the use of dialog units as well as pixels make it unbeatable. I have not come across a screen layout that I could not easily design with the JGoodies FormLayout layout manager. This tool in conjunction with this that layout manager beats the snot out of GridBag.