This document describes the API of the JGoodies Forms, a framework that helps you lay out and implement elegant Swing panels quickly and consistently. Forms makes simple things easy and the hard stuff possible, the good design easy and the bad difficult.

Forms requires Java 1.4 or later. A version for Java 1.3 is here.

Getting Started

Forms ships with a tutorial and tutorial sources. The compiled tutorial is available as Forms Demo. And you can find more examples at www.JGoodies.com/freeware. As a next step you can study the JGoodies articles and presentations.

Open Issue

There's a weakness in the FormLayout that may require an API extension. Components that span multiple columns or rows do not affect the column width or row height resp., but can in some cases expand the container.
I'm looking for a means to let the layout grid honor these components that is both powerful and easy to understand. See item #3.5 in the accompanying FAQ for details and a workaround.

Acknowledgements

The Forms project has been financed by Johannes Riege, the Java desktop team at Sun Microsystems and customers of the JGoodies Swing Suite. It is only with their money that I can provide, maintain, and improve this library at no charge.

FormLayout has been inspired by Mullet&Sano's grid system, Daniel Barbalace's TableLayout, Daniel Michalik's HIGLayout, and Doug Stein's GridBagLayout. The concept of dialog units stems from Microsoft user interface implementations.

You can Help

If you save time and money using the JGoodies Forms, you may help me finance my Java desktop activities by licensing the commercial JGoodies Swing Suite.