| A layout that manages Components in a table structure that is backed by a Grid.
You can use this rapidly and easily layout user interfaces of almost any complexity.
Additionaly, since this layout is backed by a Grid, you can dynamically manipulate
the layout to accomplish sophisticated user interfaces.
The general concepts of this layout are adapted directly from the TableLayout
project at http://tablelayout.dev.java.net/. While, the TableLayout project
at java.net is for the Java Swing UI framework, the basic idea behind the
layout is applicable to any user interface framework. In general, you can
use a good portion of the documentation from that project to guide you in
using this layout.
There are two primary differences to keep in mind. First,
ThinWire layout's use 'limits', whereas Swing layouts use 'constraints'. The
concept is the same, but in ThinWire you set a limit by calling the "setLimit()"
method on a Component. Second, since this layout is backed by a ThinWire
Grid, row/column additions and removals are done entirely different then
how the TableLayout project handles it.
With this layout, almost any Grid operation that the GridBox component supports
can be performed. This gives you extensive flexibility in how forms are laid
out and manipulated. Essentially, you can treat a TableLayout that's been
set on a Panel as an extremely flexible GridBox. It takes a little more setup
then a GridBox because you have to create instances of the components you want
to display in each cell. Additionally, the overall performance will be lower
if you have 100's of rows of information. However, in exchange for those issues
you can use this layout to pull off complex data grids that approach the capability
of a modern spreadsheet.
author: Joshua J. Gertzen author: Ted C. Howard |