DesignGridLayout is a revolutionary and innovative Swing LayoutManager inspired by the use of canonical grids for user interface design. Its goal is to be useful for typical form-based designs. DesignGridLayout is an alternative to other grid-based layout managers (FormsLayout, GridLayout, GridBagLayout, HIGLayout, PnutsLayout, RiverLayout, SGLayout, TableLayout and MiGLayout). DesignGridLayout works with JDK 1.6 and later.
The idea of user interfaces based on canonical grids is described in the book Designing Visual Interfaces: Communication Oriented Techniques by Kevin Mullet and Darrell Sano. Available online, Patrizia Nanni's thesis Human-Computer Interaction: Principles of Interface Design has a nice chapter called Module and Program: Grid-based Design, which also references Mullet and Sano's work.
DesignGridLayout's primary innovation is a well behaved simple layout algorithm exposed as a convenient API. Just add rows from top to bottom and components from left to right.
But more than that, DesignGridLayout is smart:
Try it now using WebStart:
TODO WEBSTART IMAGE + JNLP LINK
The DesignGridLayout Examples application is the best way to get started with DesignGridLayout: it guides you step by step through every DesignGridLayout feature and always shows the relevant source code to produce each demonstrated layout.
Although the Examples application is a good quick start to DesignGridLayout, it is advised to read the following additional documentation, found on the project web site (particularly the 2 first links below):
With the Examples application and the documentation above, you can start using DesignGridLayout on your own and create professional Swing UI dialogs only one hour after starting, and this with only a few lines of code!
You may also want to check the author's blog which contains several DesignGridLayout-related posts (technical details, announces, how to...)
DesignGridLayout authors are grateful for the efforts of Scott Violet and all other contributors regarding the component baseline functionality added to Java 6. The baseline work is non-trivial and an important contribution to user interface development.
Karsten Lentzsch, of JGoodies fame, has probably been the most influential contributor towards making professional, high quality user interfaces in Swing. He was definitely one of the first. His efforts have been a source of inspiration.