<!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>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../info/clearthought/layout/SingleFiledLayout.html" title="class in info.clearthought.layout"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<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>  &nbsp;
&nbsp;<A HREF="TableLayout.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<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:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<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&nbsp;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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<!-- =========== 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&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#C">C</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indicates a column</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#checkForComponentOrientationSupport">checkForComponentOrientationSupport</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used to minimize reflection calls</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int[][]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#crOffset">crOffset</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Offsets of crs in pixels.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int[][]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#crSize">crSize</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sizes of crs in pixels</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;double[][]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#crSpec">crSpec</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;double[][]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#defaultSize">defaultSize</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default row/column size</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#dirty">dirty</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#hGap">hGap</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Horizontal gap between columns</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.LinkedList</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#list">list</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;java.lang.reflect.Method</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#methodGetComponentOrientation">methodGetComponentOrientation</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#oldHeight">oldHeight</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#oldWidth">oldWidth</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#R">R</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Indicates a row</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#vGap">vGap</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Vertical gap between rows</TD>
</TR>
</TABLE>
&nbsp;<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>
&nbsp;
<!-- ======== 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>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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[][]&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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[]&nbsp;col,
            double[]&nbsp;row)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs an instance of TableLayout.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== 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>&nbsp;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&nbsp;component,
                   java.lang.Object&nbsp;constraint)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;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&nbsp;name,
                   java.awt.Component&nbsp;component)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#assignAbsoluteSize(int, int)">assignAbsoluteSize</A></B>(int&nbsp;z,
                   int&nbsp;availableSize)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assigns absolute sizes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#assignFillSize(int, int)">assignFillSize</A></B>(int&nbsp;z,
               int&nbsp;availableSize)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assigns FILL sizes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#assignPrefMinSize(int, int, double)">assignPrefMinSize</A></B>(int&nbsp;z,
                  int&nbsp;availableSize,
                  double&nbsp;typeOfSize)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#assignRelativeSize(int, int)">assignRelativeSize</A></B>(int&nbsp;z,
                   int&nbsp;availableSize)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Assigns relative sizes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;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&nbsp;container,
                    double&nbsp;typeOfSize)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;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&nbsp;container,
                    int&nbsp;z,
                    double&nbsp;typeOfSize,
                    <A HREF="../../../info/clearthought/layout/TableLayout.Entry.html" title="class in info.clearthought.layout">TableLayout.Entry</A>[]&nbsp;entryList,
                    java.awt.Dimension[]&nbsp;prefMinSize)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#calculateOffset(int, java.awt.Insets)">calculateOffset</A></B>(int&nbsp;z,
                java.awt.Insets&nbsp;inset)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#calculateSize(java.awt.Container)">calculateSize</A></B>(java.awt.Container&nbsp;container)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;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>&nbsp;entry,
                       int&nbsp;preferredSize,
                       boolean&nbsp;isColumn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#deleteColumn(int)">deleteColumn</A></B>(int&nbsp;i)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#deleteCr(int, int)">deleteCr</A></B>(int&nbsp;z,
         int&nbsp;i)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#deleteRow(int)">deleteRow</A></B>(int&nbsp;i)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deletes a row in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;double[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getColumn()">getColumn</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getColumn(int)">getColumn</A></B>(int&nbsp;i)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;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&nbsp;container)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the container's component orientation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<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&nbsp;component)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getHGap()">getHGap</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the horizontal gap between colunns.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getInvalidEntry()">getInvalidEntry</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getLayoutAlignmentX(java.awt.Container)">getLayoutAlignmentX</A></B>(java.awt.Container&nbsp;parent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;float</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getLayoutAlignmentY(java.awt.Container)">getLayoutAlignmentY</A></B>(java.awt.Container&nbsp;parent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getNumColumn()">getNumColumn</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getNumRow()">getNumRow</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;java.util.List</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getOverlappingEntry()">getOverlappingEntry</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;double[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getRow()">getRow</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;double</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getRow(int)">getRow</A></B>(int&nbsp;i)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#getVGap()">getVGap</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#init(double[], double[])">init</A></B>(double[]&nbsp;col,
     double[]&nbsp;row)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initializes the TableLayout for all constructors.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#insertColumn(int, double)">insertColumn</A></B>(int&nbsp;i,
             double&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inserts a column in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#insertCr(int, int, double)">insertCr</A></B>(int&nbsp;z,
         int&nbsp;i,
         double&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#insertRow(int, double)">insertRow</A></B>(int&nbsp;i,
          double&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Inserts a row in this layout.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#invalidateLayout(java.awt.Container)">invalidateLayout</A></B>(java.awt.Container&nbsp;target)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#layoutContainer(java.awt.Container)">layoutContainer</A></B>(java.awt.Container&nbsp;container)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;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&nbsp;target)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;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&nbsp;container)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;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&nbsp;container)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#removeLayoutComponent(java.awt.Component)">removeLayoutComponent</A></B>(java.awt.Component&nbsp;component)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setColumn(double[])">setColumn</A></B>(double[]&nbsp;column)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setColumn(int, double)">setColumn</A></B>(int&nbsp;i,
          double&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;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&nbsp;component,
               <A HREF="../../../info/clearthought/layout/TableLayoutConstraints.html" title="class in info.clearthought.layout">TableLayoutConstraints</A>&nbsp;constraint)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setCr(int, double[])">setCr</A></B>(int&nbsp;z,
      double[]&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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 &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setCr(int, int, double)">setCr</A></B>(int&nbsp;z,
      int&nbsp;i,
      double&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setHGap(int)">setHGap</A></B>(int&nbsp;hGap)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the horizontal gap between colunns.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setRow(double[])">setRow</A></B>(double[]&nbsp;row)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setRow(int, double)">setRow</A></B>(int&nbsp;i,
       double&nbsp;size)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#setVGap(int)">setVGap</A></B>(int&nbsp;vGap)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the vertical gap between rows.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../info/clearthought/layout/TableLayout.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Converts this TableLayout to a string.</TD>
</TR>
</TABLE>
&nbsp;<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>
&nbsp;
<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[][]&nbsp;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[]&nbsp;col,
                   double[]&nbsp;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[]&nbsp;col,
                    double[]&nbsp;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&nbsp;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&nbsp;component,
                           <A HREF="../../../info/clearthought/layout/TableLayoutConstraints.html" title="class in info.clearthought.layout">TableLayoutConstraints</A>&nbsp;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[]&nbsp;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[]&nbsp;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&nbsp;z,
                     double[]&nbsp;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&nbsp;i,
                      double&nbsp;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&nbsp;i,
                   double&nbsp;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&nbsp;z,
                     int&nbsp;i,
                     double&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;i,
                         double&nbsp;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&nbsp;i,
                      double&nbsp;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&nbsp;z,
                     int&nbsp;i,
                     double&nbsp;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&nbsp;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&nbsp;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&nbsp;z,
                        int&nbsp;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&nbsp;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&nbsp;z,
                                 int&nbsp;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&nbsp;z,
                                 int&nbsp;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&nbsp;z,
                              int&nbsp;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&nbsp;z,
                               java.awt.Insets&nbsp;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&nbsp;z,
                                int&nbsp;availableSize,
                                double&nbsp;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&nbsp;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&nbsp;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>&nbsp;entry,
                                       int&nbsp;preferredSize,
                                       boolean&nbsp;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&nbsp;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&nbsp;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&nbsp;container,
                                                 double&nbsp;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&nbsp;container,
                                  int&nbsp;z,
                                  double&nbsp;typeOfSize,
                                  <A HREF="../../../info/clearthought/layout/TableLayout.Entry.html" title="class in info.clearthought.layout">TableLayout.Entry</A>[]&nbsp;entryList,
                                  java.awt.Dimension[]&nbsp;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&nbsp;name,
                               java.awt.Component&nbsp;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&nbsp;component,
                               java.lang.Object&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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&nbsp;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>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../info/clearthought/layout/SingleFiledLayout.html" title="class in info.clearthought.layout"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<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>  &nbsp;
&nbsp;<A HREF="TableLayout.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<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:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>

</BODY>
</HTML>