<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.5.0_06) on Sat Apr 21 16:37:06 EDT 2007 -->
<TITLE>
TableLayout
</TITLE>
<META NAME="keywords" CONTENT="info.clearthought.layout.TableLayout class">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
parent.document.title="TableLayout";
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../info/clearthought/layout/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../info/clearthought/layout/SingleFiledLayout.html" title="class in info.clearthought.layout"><B>PREV CLASS</B></A>
<A HREF="../../../info/clearthought/layout/TableLayout.Entry.html" title="class in info.clearthought.layout"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?info/clearthought/layout/TableLayout.html" target="_top"><B>FRAMES</B></A>
<A HREF="TableLayout.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
info.clearthought.layout</FONT>
<BR>
Class TableLayout</H2>
<PRE>
java.lang.Object
<IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>info.clearthought.layout.TableLayout</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../info/clearthought/layout/TableLayoutConstants.html" title="interface in info.clearthought.layout">TableLayoutConstants</A>, java.awt.LayoutManager, java.awt.LayoutManager2, java.io.Serializable</DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <B>TableLayout</B><DT>extends java.lang.Object<DT>implements java.awt.LayoutManager2, java.io.Serializable, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html" title="interface in info.clearthought.layout">TableLayoutConstants</A></DL>
</PRE>
<P>
<p>TableLayout is a layout manager that is more powerful than GridBagLayout
yet much easier to use.</p>
<b>Background</b>
<p>TableLayout is a layout manager that arranges components in rows and
columns like a spreadsheet. TableLayout allows each row or column to be a
different size. A row or column can be given an absolute size in pixels, a
percentage of the available space, or it can grow and shrink to fill the
remaining space after other rows and columns have been resized. </p>
<p>Using spreadsheet terminology, a cell is the intersection of a row and
column. Cells have finite, non-negative sizes measured in pixels. The
dimensions of a cell depend solely upon the dimensions of its row and column.
</p>
<p>A component occupies a rectangular group of one or more cells. The
component can be aligned within those cells using four vertical and six
horizontal justifications. The vertical justifications are left, center,
right, and full. The horizontal justifications are left, center, right,
full, leading, and trailing. With full justification the component is
stretched either vertically or horizontally to fit the cell or group of
cells.<p>
<b>Justification</b>
<p>Leading and trailing justification are used to support languages that
are read from right to left. See the
<code>java.awt.ComponentOrientation</code> class for details and
http://java.sun.com/products/jfc/tsc/articles/bidi for an introduction to
component orientation and bidirectional text support. The leading
justification will align the component along the leading edge of the
container and the trailing justification will align the component along the
trailing edge. There is no leading or trailing justification along the
vertical axis since all modern languages are read from top to bottom and
no bottom-to-top orientation is defined in
<code>java.awt.ComponentOrientation.</code></p>
<p>For components using the <code>ComponentOrientation.LEFT_TO_RIGHT</code>
orientation, the leading edge is the left edge and the trailing edge is the
right one. For components using the <code>ComponentOrientation.RIGHT_TO_LEFT
</code> orientation, the opposite is true. For components that are using
<code>ComponentOrientation.UNKNOWN</code> and for Java runtime environments
that do not support component orientation, left-to-right orientation is
assumed for backwards compatibility.</p>
<b>Gaps</b>
<p>Horizontal and vertical gaps can be placed between rows and columns in two
ways. If uniformed gaps are desired, the <code>setHGap</code> and <code>
setVGap</code> methods may be used. To vary the size of gaps, simply use
empty rows and columns with absolute sizes. Similiarly, to make a border
around a container that does not have insets, use empty rows and columns
along the edges of the container.</p>
<b>Constraints</b>
<p>Using TableLayout is a simple two step process. First, create a grid for
your container by specifying row and column sizes using either a TableLayout
constructor or the <code>insertRow</code> and <code>insertColumn</code>
methods. Second, add components to the cells formed by the rows and
columns.</p>
<p>When adding a component to a container that uses TableLayout, you
specify the component's constraints that state which cells the component
will occupy and how the component will be aligned. The constraints
can be specified into two ways. The <code>TableLayoutConstraints</code>
class can be used to systematically specify the constraints. This is
useful to dynamic code, bean builders, and rapid application development
software.</p>
<p>For manual coding, a quicker and easier way to specify constraints is with
a short string in the form "x1, y1, x2, y2, hAlign, vAlign" where (x1, y1)
identifies the top left cell (column x1, row y1) for the component and
(x2, y2) identfies the bottom right cell. x2 and y2 are optional. If they
are not specified, the component will occupy only one cell, (x1, y1).
hAlign and vAlign are also optional with default values of full
justification. Alignments may be spelt fully as in "LEFT" or abbreviated as
in "L". The text is not case sensitive, but it is recommended that uppercase
is used for two reasons. First, these text values are in essence constants.
Second, some fonts use the same glyphs for representing a lowercase L and
the number one. Ex., "l" vs. "1". Even fonts that do not will often use
similar glyphs so using uppercase avoids confusion.</p>
<b>Dynamically altering the layout</b>
<p>Rows and columns can be dynamically created, resized, and removed at any
time, even if the container is visible. Components will be shifted
appropriately as rows and columns are inserted or removed, just as cells
are shifted in a spreadsheet.</p>
<p>Rows and columns can be made "hidden" or effectively invisible by setting
their size to zero. They can be shown again by setting their size back to
a non-zero value. This is very useful for toggle form elements without
having to remove individual components.</p>
<b>Preferred sizes</b>
<p>Often it is desireable to make a row or column just large enough to ensure
that all components contained partially or wholly in that row or column are
their preferred size. To make this easy, there is a constant called
<code>PREFERRED</code> that can be used to specify row or column sizes.
There is another constant called <code>MINIMUM</code> that does a similar
task using components' minimum sizes instead of their preferred sizes.</p>
<p>There is no corresponding <code>MAXIMUM</code> constant for several
reasons. First, it is mathematically impossible to honor both the minimum
and maximum sizes of more than one component when conflicts arise. For
example, say components a and b are in the same row. If a's maximum height
is less than b's minimum height, then one of these constraints must be
violated. Since TableLayout is a complete, general Cartesian layout manager,
it would be possible to specify conflicting constraints if a <code>MAXIMUM
</code> constant existed.<p>
<p>Second, the ability to make a component grow up to a maximum size is
primarily of interest to layout managers like <code>SpringLayout</code> that
have to balance the sizes of components because the presence of one component
affects the size of another. Other than the effect of preferred and minimum
size rows/columns, which are essentially convenient ways of specifying
absolute sizes, the existence and constraints of one component does not
affect any other components when using TableLayout. This is accomplished
because rows and columns are explicit in TableLayout.</p>
<p>Third, the ability to constrain a component to its maximum size is
subsumed by the ability to constrain it to its preferred size, which is
precisely what happens when a component is aligned using anything but
full justification. In the case of full justification, the component's
maximum size is by definition unbounded.</p>
<b>Example</b>
<pre>
import java.awt.*;
import javax.swing.*;
import info.clearthought.layout.TableLayout;
<spc>
public class Preferred extends JFrame
{
<spc>
public static void main (String args[])
{
new Preferred();
}
<spc>
public Preferred ()
{
super("The Power of Preferred Sizes");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Container pane = getContentPane();
<spc>
// b - border
// f - FILL
// p - PREFERRED
// vs - vertical space between labels and text fields
// vg - vertical gap between form elements
// hg - horizontal gap between form elements
<spc>
double b = 10;
double f = TableLayout.FILL;
double p = TableLayout.PREFERRED;
double vs = 5;
double vg = 10;
double hg = 10;
<spc>
double size[][] =
{{b, f, hg, p, hg, p, b},
{b, p, vs, p, vg, p, vs, p, vg, p, vs, p, vg, p, b}};
<spc>
TableLayout layout = new TableLayout(size);
pane.setLayout (layout);
<spc>
// Create all controls
JLabel labelName = new JLabel("Name");
JLabel labelAddress = new JLabel("Address");
JLabel labelCity = new JLabel("City");
JLabel labelState = new JLabel("State");
JLabel labelZip = new JLabel("Zip");
<spc>
JTextField textfieldName = new JTextField(10);
JTextField textfieldAddress = new JTextField(20);
JTextField textfieldCity = new JTextField(10);
JTextField textfieldState = new JTextField(2);
JTextField textfieldZip = new JTextField(5);
<spc>
JButton buttonOk = new JButton("OK");
JButton buttonCancel = new JButton("Cancel");
JPanel panelButton = new JPanel();
panelButton.add(buttonOk);
panelButton.add(buttonCancel);
<spc>
// Add all controls
pane.add(labelName, "1, 1, 5, 1");
pane.add(textfieldName, "1, 3, 5, 3");
pane.add(labelAddress, "1, 5, 5, 5");
pane.add(textfieldAddress, "1, 7, 5, 7");
pane.add(labelCity, "1, 9");
pane.add(textfieldCity, "1, 11");
pane.add(labelState, "3, 9");
pane.add(textfieldState, "3, 11");
pane.add(labelZip, "5, 9");
pane.add(textfieldZip, "5, 11");
pane.add(panelButton, "1, 13, 5, 13");
<spc>
pack();
setResizable(false);
show();
}
}
</pre>
<P>
<P>
<DL>
<DT><B>Version:</B></DT>
<DD>4.0 September 14, 2005</DD>
<DT><B>Author:</B></DT>
<DD>Daniel E. Barbalace</DD>
<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#info.clearthought.layout.TableLayout">Serialized Form</A></DL>
<HR>
<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->
<A NAME="nested_class_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Nested Class Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.Entry.html" title="class in info.clearthought.layout">TableLayout.Entry</A></B></CODE>
<BR>
</TD>
</TR>
</TABLE>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#C">C</A></B></CODE>
<BR>
Indicates a column</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#checkForComponentOrientationSupport">checkForComponentOrientationSupport</A></B></CODE>
<BR>
Used to minimize reflection calls</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int[][]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#crOffset">crOffset</A></B></CODE>
<BR>
Offsets of crs in pixels.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int[][]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#crSize">crSize</A></B></CODE>
<BR>
Sizes of crs in pixels</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected double[][]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#crSpec">crSpec</A></B></CODE>
<BR>
Sizes of crs expressed in absolute and relative terms</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static double[][]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#defaultSize">defaultSize</A></B></CODE>
<BR>
Default row/column size</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#dirty">dirty</A></B></CODE>
<BR>
Indicates whether or not the size of the cells are known for the last known
size of the container.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#hGap">hGap</A></B></CODE>
<BR>
Horizontal gap between columns</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected java.util.LinkedList</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#list">list</A></B></CODE>
<BR>
List of components and their sizes</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static java.lang.reflect.Method</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#methodGetComponentOrientation">methodGetComponentOrientation</A></B></CODE>
<BR>
Method used to get component orientation while preserving compatability
with earlier versions of java.awt.Container.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#oldHeight">oldHeight</A></B></CODE>
<BR>
Previous known height of the container</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#oldWidth">oldWidth</A></B></CODE>
<BR>
Previous known width of the container</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#R">R</A></B></CODE>
<BR>
Indicates a row</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#vGap">vGap</A></B></CODE>
<BR>
Vertical gap between rows</TD>
</TR>
</TABLE>
<A NAME="fields_inherited_from_class_info.clearthought.layout.TableLayoutConstants"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface info.clearthought.layout.<A HREF="../../../info/clearthought/layout/TableLayoutConstants.html" title="interface in info.clearthought.layout">TableLayoutConstants</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#BOTTOM">BOTTOM</A>, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#CENTER">CENTER</A>, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#FILL">FILL</A>, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#FULL">FULL</A>, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#LEADING">LEADING</A>, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#LEFT">LEFT</A>, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#MINIMUM">MINIMUM</A>, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#PREFERRED">PREFERRED</A>, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#RIGHT">RIGHT</A>, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#TOP">TOP</A>, <A HREF="../../../info/clearthought/layout/TableLayoutConstants.html#TRAILING">TRAILING</A></CODE></TD>
</TR>
</TABLE>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#TableLayout()">TableLayout</A></B>()</CODE>
<BR>
Constructs an instance of TableLayout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#TableLayout(double[][])">TableLayout</A></B>(double[][] size)</CODE>
<BR>
Constructs an instance of TableLayout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#TableLayout(double[], double[])">TableLayout</A></B>(double[] col,
double[] row)</CODE>
<BR>
Constructs an instance of TableLayout.</TD>
</TR>
</TABLE>
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#addLayoutComponent(java.awt.Component, java.lang.Object)">addLayoutComponent</A></B>(java.awt.Component component,
java.lang.Object constraint)</CODE>
<BR>
Adds the specified component with the specified name to the layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#addLayoutComponent(java.lang.String, java.awt.Component)">addLayoutComponent</A></B>(java.lang.String name,
java.awt.Component component)</CODE>
<BR>
Adds the specified component with the specified name to the layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#assignAbsoluteSize(int, int)">assignAbsoluteSize</A></B>(int z,
int availableSize)</CODE>
<BR>
Assigns absolute sizes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#assignFillSize(int, int)">assignFillSize</A></B>(int z,
int availableSize)</CODE>
<BR>
Assigns FILL sizes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#assignPrefMinSize(int, int, double)">assignPrefMinSize</A></B>(int z,
int availableSize,
double typeOfSize)</CODE>
<BR>
Assigned sizes to preferred and minimum size columns and rows.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#assignRelativeSize(int, int)">assignRelativeSize</A></B>(int z,
int availableSize)</CODE>
<BR>
Assigns relative sizes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected java.awt.Dimension</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#calculateLayoutSize(java.awt.Container, double)">calculateLayoutSize</A></B>(java.awt.Container container,
double typeOfSize)</CODE>
<BR>
Calculates the preferred or minimum size for the methods preferredLayoutSize
and minimumLayoutSize.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#calculateLayoutSize(java.awt.Container, int, double, info.clearthought.layout.TableLayout.Entry[], java.awt.Dimension[])">calculateLayoutSize</A></B>(java.awt.Container container,
int z,
double typeOfSize,
<A HREF="../../../info/clearthought/layout/TableLayout.Entry.html" title="class in info.clearthought.layout">TableLayout.Entry</A>[] entryList,
java.awt.Dimension[] prefMinSize)</CODE>
<BR>
Calculates the preferred or minimum size for the method
calculateLayoutSize(Container container, double typeOfSize).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#calculateOffset(int, java.awt.Insets)">calculateOffset</A></B>(int z,
java.awt.Insets inset)</CODE>
<BR>
Calculates the offset of each cr.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#calculateSize(java.awt.Container)">calculateSize</A></B>(java.awt.Container container)</CODE>
<BR>
Calculates the sizes of the rows and columns based on the absolute and
relative sizes specified in <code>crSpec[R]</code> and <code>crSpec[C]</code>
and the size of the container.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected int[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#calculateSizeAndOffset(info.clearthought.layout.TableLayout.Entry, int, boolean)">calculateSizeAndOffset</A></B>(<A HREF="../../../info/clearthought/layout/TableLayout.Entry.html" title="class in info.clearthought.layout">TableLayout.Entry</A> entry,
int preferredSize,
boolean isColumn)</CODE>
<BR>
Calculates the vertical/horizontal offset and size of a component.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#deleteColumn(int)">deleteColumn</A></B>(int i)</CODE>
<BR>
Deletes a column in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#deleteCr(int, int)">deleteCr</A></B>(int z,
int i)</CODE>
<BR>
Deletes a cr for the methods deleteRow or deleteColumn.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#deleteRow(int)">deleteRow</A></B>(int i)</CODE>
<BR>
Deletes a row in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> double[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getColumn()">getColumn</A></B>()</CODE>
<BR>
Gets the sizes of columns in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getColumn(int)">getColumn</A></B>(int i)</CODE>
<BR>
Gets the width of a single column in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected java.awt.ComponentOrientation</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getComponentOrientation(java.awt.Container)">getComponentOrientation</A></B>(java.awt.Container container)</CODE>
<BR>
Gets the container's component orientation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> <A HREF="../../../info/clearthought/layout/TableLayoutConstraints.html" title="class in info.clearthought.layout">TableLayoutConstraints</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getConstraints(java.awt.Component)">getConstraints</A></B>(java.awt.Component component)</CODE>
<BR>
Gets the constraints of a given component.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getHGap()">getHGap</A></B>()</CODE>
<BR>
Gets the horizontal gap between colunns.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getInvalidEntry()">getInvalidEntry</A></B>()</CODE>
<BR>
Determines whether or not there are any components with invalid constraints.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getLayoutAlignmentX(java.awt.Container)">getLayoutAlignmentX</A></B>(java.awt.Container parent)</CODE>
<BR>
Returns the alignment along the x axis.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getLayoutAlignmentY(java.awt.Container)">getLayoutAlignmentY</A></B>(java.awt.Container parent)</CODE>
<BR>
Returns the alignment along the y axis.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getNumColumn()">getNumColumn</A></B>()</CODE>
<BR>
Gets the number of columns in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getNumRow()">getNumRow</A></B>()</CODE>
<BR>
Gets the number of rows in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getOverlappingEntry()">getOverlappingEntry</A></B>()</CODE>
<BR>
Gets a list of overlapping components and their constraints.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> double[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getRow()">getRow</A></B>()</CODE>
<BR>
Gets the height of a single row in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getRow(int)">getRow</A></B>(int i)</CODE>
<BR>
Gets the sizes of a row in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getVGap()">getVGap</A></B>()</CODE>
<BR>
Gets the vertical gap between rows.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#init(double[], double[])">init</A></B>(double[] col,
double[] row)</CODE>
<BR>
Initializes the TableLayout for all constructors.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#insertColumn(int, double)">insertColumn</A></B>(int i,
double size)</CODE>
<BR>
Inserts a column in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#insertCr(int, int, double)">insertCr</A></B>(int z,
int i,
double size)</CODE>
<BR>
Inserts a cr for the methods insertRow or insertColumn.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#insertRow(int, double)">insertRow</A></B>(int i,
double size)</CODE>
<BR>
Inserts a row in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#invalidateLayout(java.awt.Container)">invalidateLayout</A></B>(java.awt.Container target)</CODE>
<BR>
Invalidates the layout, indicating that if the layout manager has cached
information it should be discarded.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#layoutContainer(java.awt.Container)">layoutContainer</A></B>(java.awt.Container container)</CODE>
<BR>
To lay out the specified container using this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> java.awt.Dimension</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#maximumLayoutSize(java.awt.Container)">maximumLayoutSize</A></B>(java.awt.Container target)</CODE>
<BR>
Returns the maximum dimensions for this layout given the components in the
specified target container.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> java.awt.Dimension</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#minimumLayoutSize(java.awt.Container)">minimumLayoutSize</A></B>(java.awt.Container container)</CODE>
<BR>
Determines the minimum size of the container argument using this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> java.awt.Dimension</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#preferredLayoutSize(java.awt.Container)">preferredLayoutSize</A></B>(java.awt.Container container)</CODE>
<BR>
Determines the preferred size of the container argument using this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#removeLayoutComponent(java.awt.Component)">removeLayoutComponent</A></B>(java.awt.Component component)</CODE>
<BR>
Removes the specified component from the layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setColumn(double[])">setColumn</A></B>(double[] column)</CODE>
<BR>
Adjusts the number and sizes of rows in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setColumn(int, double)">setColumn</A></B>(int i,
double size)</CODE>
<BR>
Adjusts the width of a single column in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setConstraints(java.awt.Component, info.clearthought.layout.TableLayoutConstraints)">setConstraints</A></B>(java.awt.Component component,
<A HREF="../../../info/clearthought/layout/TableLayoutConstraints.html" title="class in info.clearthought.layout">TableLayoutConstraints</A> constraint)</CODE>
<BR>
Sets the constraints of a given component.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setCr(int, double[])">setCr</A></B>(int z,
double[] size)</CODE>
<BR>
Sets the sizes of rows or columns for the methods setRow or setColumn.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setCr(int, int, double)">setCr</A></B>(int z,
int i,
double size)</CODE>
<BR>
Sets the sizes of rows or columns for the methods setRow or setColumn.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setHGap(int)">setHGap</A></B>(int hGap)</CODE>
<BR>
Sets the horizontal gap between colunns.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setRow(double[])">setRow</A></B>(double[] row)</CODE>
<BR>
Adjusts the number and sizes of rows in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setRow(int, double)">setRow</A></B>(int i,
double size)</CODE>
<BR>
Adjusts the height of a single row in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setVGap(int)">setVGap</A></B>(int vGap)</CODE>
<BR>
Sets the vertical gap between rows.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE> java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#toString()">toString</A></B>()</CODE>
<BR>
Converts this TableLayout to a string.</TD>
</TR>
</TABLE>
<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="defaultSize"><!-- --></A><H3>
defaultSize</H3>
<PRE>
protected static final double[][] <B>defaultSize</B></PRE>
<DL>
<DD>Default row/column size
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="C"><!-- --></A><H3>
C</H3>
<PRE>
protected static final int <B>C</B></PRE>
<DL>
<DD>Indicates a column
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#info.clearthought.layout.TableLayout.C">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="R"><!-- --></A><H3>
R</H3>
<PRE>
protected static final int <B>R</B></PRE>
<DL>
<DD>Indicates a row
<P>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#info.clearthought.layout.TableLayout.R">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="checkForComponentOrientationSupport"><!-- --></A><H3>
checkForComponentOrientationSupport</H3>
<PRE>
protected static boolean <B>checkForComponentOrientationSupport</B></PRE>
<DL>
<DD>Used to minimize reflection calls
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="methodGetComponentOrientation"><!-- --></A><H3>
methodGetComponentOrientation</H3>
<PRE>
protected static java.lang.reflect.Method <B>methodGetComponentOrientation</B></PRE>
<DL>
<DD>Method used to get component orientation while preserving compatability
with earlier versions of java.awt.Container. Necessary for supporting
older JDKs and MicroEdition versions of Java.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="crSpec"><!-- --></A><H3>
crSpec</H3>
<PRE>
protected double[][] <B>crSpec</B></PRE>
<DL>
<DD>Sizes of crs expressed in absolute and relative terms
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="crSize"><!-- --></A><H3>
crSize</H3>
<PRE>
protected int[][] <B>crSize</B></PRE>
<DL>
<DD>Sizes of crs in pixels
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="crOffset"><!-- --></A><H3>
crOffset</H3>
<PRE>
protected int[][] <B>crOffset</B></PRE>
<DL>
<DD>Offsets of crs in pixels. The left boarder of column n is at
crOffset[C][n] and the right boarder is at cr[C][n + 1] for all
columns including the last one. crOffset[C].length = crSize[C].length + 1
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="list"><!-- --></A><H3>
list</H3>
<PRE>
protected java.util.LinkedList <B>list</B></PRE>
<DL>
<DD>List of components and their sizes
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="dirty"><!-- --></A><H3>
dirty</H3>
<PRE>
protected boolean <B>dirty</B></PRE>
<DL>
<DD>Indicates whether or not the size of the cells are known for the last known
size of the container. If dirty is true or the container has been resized,
the cell sizes must be recalculated using calculateSize.
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="oldWidth"><!-- --></A><H3>
oldWidth</H3>
<PRE>
protected int <B>oldWidth</B></PRE>
<DL>
<DD>Previous known width of the container
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="oldHeight"><!-- --></A><H3>
oldHeight</H3>
<PRE>
protected int <B>oldHeight</B></PRE>
<DL>
<DD>Previous known height of the container
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="hGap"><!-- --></A><H3>
hGap</H3>
<PRE>
protected int <B>hGap</B></PRE>
<DL>
<DD>Horizontal gap between columns
<P>
<DL>
</DL>
</DL>
<HR>
<A NAME="vGap"><!-- --></A><H3>
vGap</H3>
<PRE>
protected int <B>vGap</B></PRE>
<DL>
<DD>Vertical gap between rows
<P>
<DL>
</DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="TableLayout()"><!-- --></A><H3>
TableLayout</H3>
<PRE>
public <B>TableLayout</B>()</PRE>
<DL>
<DD>Constructs an instance of TableLayout. This TableLayout will have no columns
or rows. This constructor is most useful for bean-oriented programming and
dynamically adding columns and rows.
<P>
</DL>
<HR>
<A NAME="TableLayout(double[][])"><!-- --></A><H3>
TableLayout</H3>
<PRE>
public <B>TableLayout</B>(double[][] size)</PRE>
<DL>
<DD>Constructs an instance of TableLayout.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>size</CODE> - widths of columns and heights of rows in the format,
{{col0, col1, col2, ..., colN}, {row0, row1, row2, ..., rowM}}
If this parameter is invalid, the TableLayout will have
exactly one row and one column.</DL>
</DL>
<HR>
<A NAME="TableLayout(double[], double[])"><!-- --></A><H3>
TableLayout</H3>
<PRE>
public <B>TableLayout</B>(double[] col,
double[] row)</PRE>
<DL>
<DD>Constructs an instance of TableLayout.
<P>
<DL>
<DT><B>Parameters:</B><DD><CODE>col</CODE> - widths of columns in the format, {{col0, col1, col2, ..., colN}<DD><CODE>row</CODE> - heights of rows in the format, {{row0, row1, row2, ..., rowN}</DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="init(double[], double[])"><!-- --></A><H3>
init</H3>
<PRE>
protected void <B>init</B>(double[] col,
double[] row)</PRE>
<DL>
<DD>Initializes the TableLayout for all constructors.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>col</CODE> - widths of columns in the format, {{col0, col1, col2, ..., colN}<DD><CODE>row</CODE> - heights of rows in the format, {{row0, row1, row2, ..., rowN}</DL>
</DD>
</DL>
<HR>
<A NAME="getConstraints(java.awt.Component)"><!-- --></A><H3>
getConstraints</H3>
<PRE>
public <A HREF="../../../info/clearthought/layout/TableLayoutConstraints.html" title="class in info.clearthought.layout">TableLayoutConstraints</A> <B>getConstraints</B>(java.awt.Component component)</PRE>
<DL>
<DD>Gets the constraints of a given component.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>component</CODE> - desired component
<DT><B>Returns:</B><DD>If the given component is found, the constraints associated with
that component. If the given component is null or is not found,
null is returned.</DL>
</DD>
</DL>
<HR>
<A NAME="setConstraints(java.awt.Component, info.clearthought.layout.TableLayoutConstraints)"><!-- --></A><H3>
setConstraints</H3>
<PRE>
public void <B>setConstraints</B>(java.awt.Component component,
<A HREF="../../../info/clearthought/layout/TableLayoutConstraints.html" title="class in info.clearthought.layout">TableLayoutConstraints</A> constraint)</PRE>
<DL>
<DD>Sets the constraints of a given component.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>component</CODE> - desired component. This parameter cannot be null.<DD><CODE>constraint</CODE> - new set of constraints. This parameter cannot be null.</DL>
</DD>
</DL>
<HR>
<A NAME="setColumn(double[])"><!-- --></A><H3>
setColumn</H3>
<PRE>
public void <B>setColumn</B>(double[] column)</PRE>
<DL>
<DD>Adjusts the number and sizes of rows in this layout. After calling this
method, the caller should request this layout manager to perform the
layout. This can be done with the following code:
<pre>
layout.layoutContainer(container);
container.repaint();
</pre>
or
<pre>
window.pack()
</pre>
If this is not done, the changes in the layout will not be seen until the
container is resized.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>column</CODE> - widths of each of the columns<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#getColumn()"><CODE>getColumn()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setRow(double[])"><!-- --></A><H3>
setRow</H3>
<PRE>
public void <B>setRow</B>(double[] row)</PRE>
<DL>
<DD>Adjusts the number and sizes of rows in this layout. After calling this
method, the caller should request this layout manager to perform the
layout. This can be done with the following code:
<code>
layout.layoutContainer(container);
container.repaint();
</code>
or
<pre>
window.pack()
</pre>
If this is not done, the changes in the layout will not be seen until the
container is resized.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>row</CODE> - heights of each of the rows. This parameter cannot be null.<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#getRow()"><CODE>getRow()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setCr(int, double[])"><!-- --></A><H3>
setCr</H3>
<PRE>
protected void <B>setCr</B>(int z,
double[] size)</PRE>
<DL>
<DD>Sets the sizes of rows or columns for the methods setRow or setColumn.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>z</CODE> - indicates row or column<DD><CODE>size</CODE> - new cr size</DL>
</DD>
</DL>
<HR>
<A NAME="setColumn(int, double)"><!-- --></A><H3>
setColumn</H3>
<PRE>
public void <B>setColumn</B>(int i,
double size)</PRE>
<DL>
<DD>Adjusts the width of a single column in this layout. After calling this
method, the caller should request this layout manager to perform the
layout. This can be done with the following code:
<code>
layout.layoutContainer(container);
container.repaint();
</code>
or
<pre>
window.pack()
</pre>
If this is not done, the changes in the layout will not be seen until the
container is resized.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - zero-based index of column to set. If this parameter is not
valid, an ArrayOutOfBoundsException will be thrown.<DD><CODE>size</CODE> - width of the column. This parameter cannot be null.<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#getColumn()"><CODE>getColumn()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setRow(int, double)"><!-- --></A><H3>
setRow</H3>
<PRE>
public void <B>setRow</B>(int i,
double size)</PRE>
<DL>
<DD>Adjusts the height of a single row in this layout. After calling this
method, the caller should request this layout manager to perform the
layout. This can be done with the following code:
<code>
layout.layoutContainer(container);
container.repaint();
</code>
or
<pre>
window.pack()
</pre>
If this is not done, the changes in the layout will not be seen until the
container is resized.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - zero-based index of row to set. If this parameter is not
valid, an ArrayOutOfBoundsException will be thrown.<DD><CODE>size</CODE> - height of the row. This parameter cannot be null.<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#getRow()"><CODE>getRow()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setCr(int, int, double)"><!-- --></A><H3>
setCr</H3>
<PRE>
protected void <B>setCr</B>(int z,
int i,
double size)</PRE>
<DL>
<DD>Sets the sizes of rows or columns for the methods setRow or setColumn.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>z</CODE> - indicates row or column<DD><CODE>i</CODE> - indicates which cr to resize<DD><CODE>size</CODE> - new cr size</DL>
</DD>
</DL>
<HR>
<A NAME="getColumn()"><!-- --></A><H3>
getColumn</H3>
<PRE>
public double[] <B>getColumn</B>()</PRE>
<DL>
<DD>Gets the sizes of columns in this layout.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>widths of each of the columns<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#setColumn(double[])"><CODE>setColumn(double[])</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getRow()"><!-- --></A><H3>
getRow</H3>
<PRE>
public double[] <B>getRow</B>()</PRE>
<DL>
<DD>Gets the height of a single row in this layout.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>height of the requested row<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#setRow(double[])"><CODE>setRow(double[])</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getColumn(int)"><!-- --></A><H3>
getColumn</H3>
<PRE>
public double <B>getColumn</B>(int i)</PRE>
<DL>
<DD>Gets the width of a single column in this layout.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - zero-based index of row to get. If this parameter is not valid,
an ArrayOutOfBoundsException will be thrown.
<DT><B>Returns:</B><DD>width of the requested column<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#setRow(double[])"><CODE>setRow(double[])</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getRow(int)"><!-- --></A><H3>
getRow</H3>
<PRE>
public double <B>getRow</B>(int i)</PRE>
<DL>
<DD>Gets the sizes of a row in this layout.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - zero-based index of row to get. If this parameter is not valid,
an ArrayOutOfBoundsException will be thrown.
<DT><B>Returns:</B><DD>height of each of the requested row<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#setRow(double[])"><CODE>setRow(double[])</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getNumColumn()"><!-- --></A><H3>
getNumColumn</H3>
<PRE>
public int <B>getNumColumn</B>()</PRE>
<DL>
<DD>Gets the number of columns in this layout.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the number of columns</DL>
</DD>
</DL>
<HR>
<A NAME="getNumRow()"><!-- --></A><H3>
getNumRow</H3>
<PRE>
public int <B>getNumRow</B>()</PRE>
<DL>
<DD>Gets the number of rows in this layout.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the number of rows</DL>
</DD>
</DL>
<HR>
<A NAME="getHGap()"><!-- --></A><H3>
getHGap</H3>
<PRE>
public int <B>getHGap</B>()</PRE>
<DL>
<DD>Gets the horizontal gap between colunns.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the horizontal gap in pixels</DL>
</DD>
</DL>
<HR>
<A NAME="getVGap()"><!-- --></A><H3>
getVGap</H3>
<PRE>
public int <B>getVGap</B>()</PRE>
<DL>
<DD>Gets the vertical gap between rows.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the vertical gap in pixels</DL>
</DD>
</DL>
<HR>
<A NAME="setHGap(int)"><!-- --></A><H3>
setHGap</H3>
<PRE>
public void <B>setHGap</B>(int hGap)</PRE>
<DL>
<DD>Sets the horizontal gap between colunns.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>hGap</CODE> - the horizontal gap in pixels</DL>
</DD>
</DL>
<HR>
<A NAME="setVGap(int)"><!-- --></A><H3>
setVGap</H3>
<PRE>
public void <B>setVGap</B>(int vGap)</PRE>
<DL>
<DD>Sets the vertical gap between rows.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>vGap</CODE> - the horizontal gap in pixels</DL>
</DD>
</DL>
<HR>
<A NAME="insertColumn(int, double)"><!-- --></A><H3>
insertColumn</H3>
<PRE>
public void <B>insertColumn</B>(int i,
double size)</PRE>
<DL>
<DD>Inserts a column in this layout. All components to the right of the
insertion point are moved right one column. The container will need to
be laid out after this method returns. See <code>setColumn</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - zero-based index at which to insert the column<DD><CODE>size</CODE> - size of the column to be inserted<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#setColumn(double[])"><CODE>setColumn(double[])</CODE></A>,
<A HREF="../../../info/clearthought/layout/TableLayout.html#deleteColumn(int)"><CODE>deleteColumn(int)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="insertRow(int, double)"><!-- --></A><H3>
insertRow</H3>
<PRE>
public void <B>insertRow</B>(int i,
double size)</PRE>
<DL>
<DD>Inserts a row in this layout. All components below the insertion point
are moved down one row. The container will need to be laid out after this
method returns. See <code>setRow</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - zero-based index at which to insert the row<DD><CODE>size</CODE> - size of the row to be inserted<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#setRow(double[])"><CODE>setRow(double[])</CODE></A>,
<A HREF="../../../info/clearthought/layout/TableLayout.html#deleteRow(int)"><CODE>deleteRow(int)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="insertCr(int, int, double)"><!-- --></A><H3>
insertCr</H3>
<PRE>
public void <B>insertCr</B>(int z,
int i,
double size)</PRE>
<DL>
<DD>Inserts a cr for the methods insertRow or insertColumn.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>z</CODE> - indicates row or column<DD><CODE>i</CODE> - zero-based index at which to insert the cr<DD><CODE>size</CODE> - size of cr being inserted</DL>
</DD>
</DL>
<HR>
<A NAME="deleteColumn(int)"><!-- --></A><H3>
deleteColumn</H3>
<PRE>
public void <B>deleteColumn</B>(int i)</PRE>
<DL>
<DD>Deletes a column in this layout. All components to the right of the
deletion point are moved left one column. The container will need to
be laid out after this method returns. See <code>setColumn</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - zero-based index of column to delete<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#setColumn(double[])"><CODE>setColumn(double[])</CODE></A>,
<A HREF="../../../info/clearthought/layout/TableLayout.html#deleteColumn(int)"><CODE>deleteColumn(int)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="deleteRow(int)"><!-- --></A><H3>
deleteRow</H3>
<PRE>
public void <B>deleteRow</B>(int i)</PRE>
<DL>
<DD>Deletes a row in this layout. All components below the deletion point are
moved up one row. The container will need to be laid out after this method
returns. See <code>setRow</code>. There must be at least two rows in order
to delete a row.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>i</CODE> - zero-based index of row to delete<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#setRow(double[])"><CODE>setRow(double[])</CODE></A>,
<A HREF="../../../info/clearthought/layout/TableLayout.html#deleteRow(int)"><CODE>deleteRow(int)</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="deleteCr(int, int)"><!-- --></A><H3>
deleteCr</H3>
<PRE>
protected void <B>deleteCr</B>(int z,
int i)</PRE>
<DL>
<DD>Deletes a cr for the methods deleteRow or deleteColumn.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>z</CODE> - indicates row or column<DD><CODE>i</CODE> - zero-based index of cr to delete</DL>
</DD>
</DL>
<HR>
<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD>Converts this TableLayout to a string.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE>toString</CODE> in class <CODE>java.lang.Object</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>a string representing the columns and row sizes in the form
"{{col0, col1, col2, ..., colN}, {row0, row1, row2, ..., rowM}}"</DL>
</DD>
</DL>
<HR>
<A NAME="getInvalidEntry()"><!-- --></A><H3>
getInvalidEntry</H3>
<PRE>
public java.util.List <B>getInvalidEntry</B>()</PRE>
<DL>
<DD>Determines whether or not there are any components with invalid constraints.
An invalid constraint is one that references a non-existing row or column.
For example, on a table with five rows, row -1 and row 5 are both invalid.
Valid rows are 0 through 4, inclusively. This method is useful for
debugging.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>a list of TableLayout.Entry instances refering to the invalid
constraints and corresponding components<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#getOverlappingEntry()"><CODE>getOverlappingEntry()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="getOverlappingEntry()"><!-- --></A><H3>
getOverlappingEntry</H3>
<PRE>
public java.util.List <B>getOverlappingEntry</B>()</PRE>
<DL>
<DD>Gets a list of overlapping components and their constraints. Two
components overlap if they cover at least one common cell. This method is
useful for debugging.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>a list of zero or more TableLayout.Entry instances<DT><B>See Also:</B><DD><A HREF="../../../info/clearthought/layout/TableLayout.html#getInvalidEntry()"><CODE>getInvalidEntry()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="calculateSize(java.awt.Container)"><!-- --></A><H3>
calculateSize</H3>
<PRE>
protected void <B>calculateSize</B>(java.awt.Container container)</PRE>
<DL>
<DD>Calculates the sizes of the rows and columns based on the absolute and
relative sizes specified in <code>crSpec[R]</code> and <code>crSpec[C]</code>
and the size of the container. The result is stored in <code>crSize[R]</code>
and <code>crSize[C]</code>.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>container</CODE> - container using this TableLayout</DL>
</DD>
</DL>
<HR>
<A NAME="assignAbsoluteSize(int, int)"><!-- --></A><H3>
assignAbsoluteSize</H3>
<PRE>
protected int <B>assignAbsoluteSize</B>(int z,
int availableSize)</PRE>
<DL>
<DD>Assigns absolute sizes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>z</CODE> - indicates row or column<DD><CODE>availableSize</CODE> - amount of space available in the container
<DT><B>Returns:</B><DD>the amount of space available after absolute crs have been assigned
sizes</DL>
</DD>
</DL>
<HR>
<A NAME="assignRelativeSize(int, int)"><!-- --></A><H3>
assignRelativeSize</H3>
<PRE>
protected int <B>assignRelativeSize</B>(int z,
int availableSize)</PRE>
<DL>
<DD>Assigns relative sizes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>z</CODE> - indicates row or column<DD><CODE>availableSize</CODE> - amount of space available in the container
<DT><B>Returns:</B><DD>the amount of space available after relative crs have been assigned
sizes</DL>
</DD>
</DL>
<HR>
<A NAME="assignFillSize(int, int)"><!-- --></A><H3>
assignFillSize</H3>
<PRE>
protected void <B>assignFillSize</B>(int z,
int availableSize)</PRE>
<DL>
<DD>Assigns FILL sizes.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>z</CODE> - indicates row or column<DD><CODE>availableSize</CODE> - amount of space available in the container</DL>
</DD>
</DL>
<HR>
<A NAME="calculateOffset(int, java.awt.Insets)"><!-- --></A><H3>
calculateOffset</H3>
<PRE>
protected void <B>calculateOffset</B>(int z,
java.awt.Insets inset)</PRE>
<DL>
<DD>Calculates the offset of each cr.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>z</CODE> - indicates row or column</DL>
</DD>
</DL>
<HR>
<A NAME="assignPrefMinSize(int, int, double)"><!-- --></A><H3>
assignPrefMinSize</H3>
<PRE>
protected int <B>assignPrefMinSize</B>(int z,
int availableSize,
double typeOfSize)</PRE>
<DL>
<DD>Assigned sizes to preferred and minimum size columns and rows. This
reduces the available width and height. Minimum widths/heights must be
calculated first because they affect preferred widths/heights, but not vice
versa. The end result is that any component contained wholly or partly in
a column/row of minimum/preferred width or height will get at least its
minimum/preferred width or height, respectively.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>z</CODE> - indicates row or column<DD><CODE>availableSize</CODE> - amount of space available in the container<DD><CODE>typeOfSize</CODE> - indicates preferred or minimum
<DT><B>Returns:</B><DD>the amount of space available after absolute crs have been assigned
sizes</DL>
</DD>
</DL>
<HR>
<A NAME="layoutContainer(java.awt.Container)"><!-- --></A><H3>
layoutContainer</H3>
<PRE>
public void <B>layoutContainer</B>(java.awt.Container container)</PRE>
<DL>
<DD>To lay out the specified container using this layout. This method reshapes
the components in the specified target container in order to satisfy the
constraints of all components.
<p>User code should not have to call this method directly.</p>
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>layoutContainer</CODE> in interface <CODE>java.awt.LayoutManager</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>container</CODE> - container being served by this layout manager</DL>
</DD>
</DL>
<HR>
<A NAME="getComponentOrientation(java.awt.Container)"><!-- --></A><H3>
getComponentOrientation</H3>
<PRE>
protected java.awt.ComponentOrientation <B>getComponentOrientation</B>(java.awt.Container container)</PRE>
<DL>
<DD>Gets the container's component orientation. If a JDK that does not support
component orientation is being used, then null is returned.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>container</CODE> - Container whose orientation is being queried
<DT><B>Returns:</B><DD>the container's orientation or null if no orientation is supported</DL>
</DD>
</DL>
<HR>
<A NAME="calculateSizeAndOffset(info.clearthought.layout.TableLayout.Entry, int, boolean)"><!-- --></A><H3>
calculateSizeAndOffset</H3>
<PRE>
protected int[] <B>calculateSizeAndOffset</B>(<A HREF="../../../info/clearthought/layout/TableLayout.Entry.html" title="class in info.clearthought.layout">TableLayout.Entry</A> entry,
int preferredSize,
boolean isColumn)</PRE>
<DL>
<DD>Calculates the vertical/horizontal offset and size of a component.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>entry</CODE> - entry containing component and contraints<DD><CODE>preferredSize</CODE> - previously calculated preferred width/height of
component<DD><CODE>isColumn</CODE> - if true, this method is being called to calculate
the offset/size of a column. if false,... of a row.
<DT><B>Returns:</B><DD>an array, a, of two integers such that a[0] is the offset and
a[1] is the size</DL>
</DD>
</DL>
<HR>
<A NAME="preferredLayoutSize(java.awt.Container)"><!-- --></A><H3>
preferredLayoutSize</H3>
<PRE>
public java.awt.Dimension <B>preferredLayoutSize</B>(java.awt.Container container)</PRE>
<DL>
<DD>Determines the preferred size of the container argument using this layout.
The preferred size is the smallest size that, if used for the container's
size, will ensure that all components are at least as large as their
preferred size. This method cannot guarantee that all components will be
their preferred size. For example, if component A and component B are each
allocate half of the container's width and component A wants to be 10 pixels
wide while component B wants to be 100 pixels wide, they cannot both be
accommodated. Since in general components rather be larger than their
preferred size instead of smaller, component B's request will be fulfilled.
The preferred size of the container would be 200 pixels.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>preferredLayoutSize</CODE> in interface <CODE>java.awt.LayoutManager</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>container</CODE> - container being served by this layout manager
<DT><B>Returns:</B><DD>a dimension indicating the container's preferred size</DL>
</DD>
</DL>
<HR>
<A NAME="minimumLayoutSize(java.awt.Container)"><!-- --></A><H3>
minimumLayoutSize</H3>
<PRE>
public java.awt.Dimension <B>minimumLayoutSize</B>(java.awt.Container container)</PRE>
<DL>
<DD>Determines the minimum size of the container argument using this layout.
The minimum size is the smallest size that, if used for the container's
size, will ensure that all components are at least as large as their
minimum size. This method cannot guarantee that all components will be
their minimum size. For example, if component A and component B are each
allocate half of the container's width and component A wants to be 10 pixels
wide while component B wants to be 100 pixels wide, they cannot both be
accommodated. Since in general components rather be larger than their
minimum size instead of smaller, component B's request will be fulfilled.
The minimum size of the container would be 200 pixels.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>minimumLayoutSize</CODE> in interface <CODE>java.awt.LayoutManager</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>container</CODE> - container being served by this layout manager
<DT><B>Returns:</B><DD>a dimension indicating the container's minimum size</DL>
</DD>
</DL>
<HR>
<A NAME="calculateLayoutSize(java.awt.Container, double)"><!-- --></A><H3>
calculateLayoutSize</H3>
<PRE>
protected java.awt.Dimension <B>calculateLayoutSize</B>(java.awt.Container container,
double typeOfSize)</PRE>
<DL>
<DD>Calculates the preferred or minimum size for the methods preferredLayoutSize
and minimumLayoutSize.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>container</CODE> - container whose size is being calculated<DD><CODE>typeOfSize</CODE> - indicates preferred or minimum
<DT><B>Returns:</B><DD>a dimension indicating the container's preferred or minimum size</DL>
</DD>
</DL>
<HR>
<A NAME="calculateLayoutSize(java.awt.Container, int, double, info.clearthought.layout.TableLayout.Entry[], java.awt.Dimension[])"><!-- --></A><H3>
calculateLayoutSize</H3>
<PRE>
protected int <B>calculateLayoutSize</B>(java.awt.Container container,
int z,
double typeOfSize,
<A HREF="../../../info/clearthought/layout/TableLayout.Entry.html" title="class in info.clearthought.layout">TableLayout.Entry</A>[] entryList,
java.awt.Dimension[] prefMinSize)</PRE>
<DL>
<DD>Calculates the preferred or minimum size for the method
calculateLayoutSize(Container container, double typeOfSize). This method
is passed the preferred/minimum sizes of the components so that the
potentially expensive methods getPreferredSize()/getMinimumSize() are not
called twice for the same component.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>container</CODE> - container whose size is being calculated<DD><CODE>z</CODE> - indicates row or column<DD><CODE>typeOfSize</CODE> - indicates preferred or minimum<DD><CODE>entryList</CODE> - list of Entry objects<DD><CODE>prefMinSize</CODE> - list of preferred or minimum sizes
<DT><B>Returns:</B><DD>a dimension indicating the container's preferred or minimum size</DL>
</DD>
</DL>
<HR>
<A NAME="addLayoutComponent(java.lang.String, java.awt.Component)"><!-- --></A><H3>
addLayoutComponent</H3>
<PRE>
public void <B>addLayoutComponent</B>(java.lang.String name,
java.awt.Component component)</PRE>
<DL>
<DD>Adds the specified component with the specified name to the layout.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>addLayoutComponent</CODE> in interface <CODE>java.awt.LayoutManager</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>name</CODE> - indicates entry's position and anchor<DD><CODE>component</CODE> - component to add</DL>
</DD>
</DL>
<HR>
<A NAME="addLayoutComponent(java.awt.Component, java.lang.Object)"><!-- --></A><H3>
addLayoutComponent</H3>
<PRE>
public void <B>addLayoutComponent</B>(java.awt.Component component,
java.lang.Object constraint)</PRE>
<DL>
<DD>Adds the specified component with the specified name to the layout.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>addLayoutComponent</CODE> in interface <CODE>java.awt.LayoutManager2</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>component</CODE> - component to add<DD><CODE>constraint</CODE> - indicates entry's position and alignment</DL>
</DD>
</DL>
<HR>
<A NAME="removeLayoutComponent(java.awt.Component)"><!-- --></A><H3>
removeLayoutComponent</H3>
<PRE>
public void <B>removeLayoutComponent</B>(java.awt.Component component)</PRE>
<DL>
<DD>Removes the specified component from the layout.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>removeLayoutComponent</CODE> in interface <CODE>java.awt.LayoutManager</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>component</CODE> - component being removed</DL>
</DD>
</DL>
<HR>
<A NAME="maximumLayoutSize(java.awt.Container)"><!-- --></A><H3>
maximumLayoutSize</H3>
<PRE>
public java.awt.Dimension <B>maximumLayoutSize</B>(java.awt.Container target)</PRE>
<DL>
<DD>Returns the maximum dimensions for this layout given the components in the
specified target container.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>maximumLayoutSize</CODE> in interface <CODE>java.awt.LayoutManager2</CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>target</CODE> - the component which needs to be laid out
<DT><B>Returns:</B><DD>unconditionally, a Dimension of Integer.MAX_VALUE by
Integer.MAX_VALUE since TableLayout does not limit the
maximum size of a container</DL>
</DD>
</DL>
<HR>
<A NAME="getLayoutAlignmentX(java.awt.Container)"><!-- --></A><H3>
getLayoutAlignmentX</H3>
<PRE>
public float <B>getLayoutAlignmentX</B>(java.awt.Container parent)</PRE>
<DL>
<DD>Returns the alignment along the x axis. This specifies how the component
would like to be aligned relative to other components. The value should be
a number between 0 and 1 where 0 represents alignment along the origin, 1 is
aligned the furthest away from the origin, 0.5 is centered, etc.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getLayoutAlignmentX</CODE> in interface <CODE>java.awt.LayoutManager2</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>unconditionally, 0.5</DL>
</DD>
</DL>
<HR>
<A NAME="getLayoutAlignmentY(java.awt.Container)"><!-- --></A><H3>
getLayoutAlignmentY</H3>
<PRE>
public float <B>getLayoutAlignmentY</B>(java.awt.Container parent)</PRE>
<DL>
<DD>Returns the alignment along the y axis. This specifies how the component
would like to be aligned relative to other components. The value should be
a number between 0 and 1 where 0 represents alignment along the origin, 1 is
aligned the furthest away from the origin, 0.5 is centered, etc.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>getLayoutAlignmentY</CODE> in interface <CODE>java.awt.LayoutManager2</CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>unconditionally, 0.5</DL>
</DD>
</DL>
<HR>
<A NAME="invalidateLayout(java.awt.Container)"><!-- --></A><H3>
invalidateLayout</H3>
<PRE>
public void <B>invalidateLayout</B>(java.awt.Container target)</PRE>
<DL>
<DD>Invalidates the layout, indicating that if the layout manager has cached
information it should be discarded.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>invalidateLayout</CODE> in interface <CODE>java.awt.LayoutManager2</CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../info/clearthought/layout/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A> </TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> <FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A> </TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A> </TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../info/clearthought/layout/SingleFiledLayout.html" title="class in info.clearthought.layout"><B>PREV CLASS</B></A>
<A HREF="../../../info/clearthought/layout/TableLayout.Entry.html" title="class in info.clearthought.layout"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../index.html?info/clearthought/layout/TableLayout.html" target="_top"><B>FRAMES</B></A>
<A HREF="TableLayout.html" target="_top"><B>NO FRAMES</B></A>
<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: <A HREF="#nested_class_summary">NESTED</A> | <A HREF="#field_summary">FIELD</A> | <A HREF="#constructor_summary">CONSTR</A> | <A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: <A HREF="#field_detail">FIELD</A> | <A HREF="#constructor_detail">CONSTR</A> | <A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
</BODY>
</HTML>