<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Tue Jun 29 06:02:08 GMT+01:00 1999 -->
<TITLE>
Swing 1.1 API Specification: Class  AbstractLayoutCache
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="class-use/AbstractLayoutCache.html"><FONT ID="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../index-files/index-1.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Swing 1.1</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="AbstractLayoutCache.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;<A HREF="#inner_class_summary">INNER</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" ID="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>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
javax.swing.tree</FONT>
<BR>
Class  AbstractLayoutCache</H2>
<PRE>
java.lang.Object
  |
  +--<B>javax.swing.tree.AbstractLayoutCache</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../javax/swing/tree/FixedHeightLayoutCache.html">FixedHeightLayoutCache</A>, <A HREF="../../../javax/swing/tree/VariableHeightLayoutCache.html">VariableHeightLayoutCache</A></DD>
</DL>
<HR>
<DL>
<DT>public abstract class <B>AbstractLayoutCache</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../javax/swing/tree/RowMapper.html">RowMapper</A></DL>

<P>
<strong>Warning:</strong>
 Serialized objects of this class will not be compatible with
 future Swing releases.  The current serialization support is appropriate
 for short term storage or RMI between applications running the same
 version of Swing.  A future release of Swing will provide support for
 long term persistence.
<P>
<HR>

<P>
<!-- ======== INNER CLASS SUMMARY ======== -->

<A NAME="inner_class_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Inner Class Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html">AbstractLayoutCache.NodeDimensions</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Used by AbstractLayoutCache to determing the size and x origin
 of a particular node.</TD>
</TR>
</TABLE>
&nbsp;
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html">AbstractLayoutCache.NodeDimensions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#nodeDimensions">nodeDimensions</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object responsible for getting the size of a node.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#rootVisible">rootVisible</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;True if the root node is displayed, false if its children are
 the highest visible nodes.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#rowHeight">rowHeight</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Height to use for each row.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#treeModel">treeModel</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Model providing information.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#treeSelectionModel">treeSelectionModel</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Selection model.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#AbstractLayoutCache()">AbstractLayoutCache</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;java.awt.Rectangle</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getBounds(javax.swing.tree.TreePath, java.awt.Rectangle)">getBounds</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path,
          java.awt.Rectangle&nbsp;placeIn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns a rectangle giving the bounds needed to draw path.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getExpandedState(javax.swing.tree.TreePath)">getExpandedState</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the path is expanded, and visible.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getModel()">getModel</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the TreeModel that is providing the data.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html">AbstractLayoutCache.NodeDimensions</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getNodeDimensions()">getNodeDimensions</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the object that renders nodes in the tree, and which is 
 responsible for calculating the dimensions of individual nodes.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.awt.Rectangle</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getNodeDimensions(java.lang.Object, int, int, boolean, java.awt.Rectangle)">getNodeDimensions</A></B>(java.lang.Object&nbsp;value,
                  int&nbsp;row,
                  int&nbsp;depth,
                  boolean&nbsp;expanded,
                  java.awt.Rectangle&nbsp;placeIn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns, by reference in size, the size needed to reprensent
 value.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getPathClosestTo(int, int)">getPathClosestTo</A></B>(int&nbsp;x,
                 int&nbsp;y)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the path to the node that is closest to x,y.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getPathForRow(int)">getPathForRow</A></B>(int&nbsp;row)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the path for passed in row.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getPreferredHeight()">getPreferredHeight</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the preferred height.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getPreferredWidth(java.awt.Rectangle)">getPreferredWidth</A></B>(java.awt.Rectangle&nbsp;bounds)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the preferred width for the passed in region.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getRowCount()">getRowCount</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number of rows being displayed.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getRowForPath(javax.swing.tree.TreePath)">getRowForPath</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the row that the last item identified in path is visible
 at.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getRowHeight()">getRowHeight</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the height of each row.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getRowsForPaths(javax.swing.tree.TreePath[])">getRowsForPaths</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the rows that the TreePath instances in <code>path</code>
 are being displayed at.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getSelectionModel()">getSelectionModel</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the model used to maintain the selection.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getVisibleChildCount(javax.swing.tree.TreePath)">getVisibleChildCount</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of visible children for row.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;java.util.Enumeration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#getVisiblePathsFrom(javax.swing.tree.TreePath)">getVisiblePathsFrom</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an Enumerator that increments over the visible paths
 starting at the passed in location.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#invalidatePathBounds(javax.swing.tree.TreePath)">invalidatePathBounds</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Instructs the LayoutCache that the bounds for <code>path</code>
 are invalid, and need to be updated.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#invalidateSizes()">invalidateSizes</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Informs the TreeState that it needs to recalculate all the sizes
 it is referencing.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#isExpanded(javax.swing.tree.TreePath)">isExpanded</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the value identified by row is currently expanded.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#isFixedRowHeight()">isFixedRowHeight</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the height of each row is a fixed size.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#isRootVisible()">isRootVisible</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if the root node of the tree is displayed.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#setExpandedState(javax.swing.tree.TreePath, boolean)">setExpandedState</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path,
                 boolean&nbsp;isExpanded)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Marks the path <code>path</code> expanded state to
 <code>isExpanded</code>.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#setModel(javax.swing.tree.TreeModel)">setModel</A></B>(<A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A>&nbsp;newModel)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the TreeModel that will provide the data.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#setNodeDimensions(javax.swing.tree.AbstractLayoutCache.NodeDimensions)">setNodeDimensions</A></B>(<A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html">AbstractLayoutCache.NodeDimensions</A>&nbsp;nd)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the renderer that is responsible for drawing nodes in the tree
 and which is threfore responsible foc calculating the dimensions of
 individual nodes.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#setRootVisible(boolean)">setRootVisible</A></B>(boolean&nbsp;rootVisible)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines whether or not the root node from
 the TreeModel is visible.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#setRowHeight(int)">setRowHeight</A></B>(int&nbsp;rowHeight)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the height of each cell.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#setSelectionModel(javax.swing.tree.TreeSelectionModel)">setSelectionModel</A></B>(<A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A>&nbsp;newLSM)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the TreeSelectionModel used to manage the selection to
 new LSM.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#treeNodesChanged(javax.swing.event.TreeModelEvent)">treeNodesChanged</A></B>(<A HREF="../../../javax/swing/event/TreeModelEvent.html">TreeModelEvent</A>&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked after a node (or a set of siblings) has changed in some
 way.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#treeNodesInserted(javax.swing.event.TreeModelEvent)">treeNodesInserted</A></B>(<A HREF="../../../javax/swing/event/TreeModelEvent.html">TreeModelEvent</A>&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked after nodes have been inserted into the tree.

 e.path() returns the parent of the new nodes
 e.childIndices() returns the indices of the new nodes in
 ascending order.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#treeNodesRemoved(javax.swing.event.TreeModelEvent)">treeNodesRemoved</A></B>(<A HREF="../../../javax/swing/event/TreeModelEvent.html">TreeModelEvent</A>&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked after nodes have been removed from the tree.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>abstract &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#treeStructureChanged(javax.swing.event.TreeModelEvent)">treeStructureChanged</A></B>(<A HREF="../../../javax/swing/event/TreeModelEvent.html">TreeModelEvent</A>&nbsp;e)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked after the tree has drastically changed structure from a
 given node down.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" ID="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE>clone, 
equals, 
finalize, 
getClass, 
hashCode, 
notify, 
notifyAll, 
toString, 
wait, 
wait, 
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="nodeDimensions"><!-- --></A><H3>
nodeDimensions</H3>
<PRE>
protected <A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html">AbstractLayoutCache.NodeDimensions</A> <B>nodeDimensions</B></PRE>
<DL>
<DD>Object responsible for getting the size of a node.</DL>
<HR>

<A NAME="treeModel"><!-- --></A><H3>
treeModel</H3>
<PRE>
protected <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A> <B>treeModel</B></PRE>
<DL>
<DD>Model providing information.</DL>
<HR>

<A NAME="treeSelectionModel"><!-- --></A><H3>
treeSelectionModel</H3>
<PRE>
protected <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A> <B>treeSelectionModel</B></PRE>
<DL>
<DD>Selection model.</DL>
<HR>

<A NAME="rootVisible"><!-- --></A><H3>
rootVisible</H3>
<PRE>
protected boolean <B>rootVisible</B></PRE>
<DL>
<DD>True if the root node is displayed, false if its children are
 the highest visible nodes.</DL>
<HR>

<A NAME="rowHeight"><!-- --></A><H3>
rowHeight</H3>
<PRE>
protected int <B>rowHeight</B></PRE>
<DL>
<DD>Height to use for each row.  If this is <= 0 the renderer will be
 used to determine the height for each row.</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="AbstractLayoutCache()"><!-- --></A><H3>
AbstractLayoutCache</H3>
<PRE>
public <B>AbstractLayoutCache</B>()</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" ID="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="setNodeDimensions(javax.swing.tree.AbstractLayoutCache.NodeDimensions)"><!-- --></A><H3>
setNodeDimensions</H3>
<PRE>
public void <B>setNodeDimensions</B>(<A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html">AbstractLayoutCache.NodeDimensions</A>&nbsp;nd)</PRE>
<DL>
<DD>Sets the renderer that is responsible for drawing nodes in the tree
 and which is threfore responsible foc calculating the dimensions of
 individual nodes.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>nd</CODE> - a NodeDimensions object</DL>
</DD>
</DL>
<HR>

<A NAME="getNodeDimensions()"><!-- --></A><H3>
getNodeDimensions</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html">AbstractLayoutCache.NodeDimensions</A> <B>getNodeDimensions</B>()</PRE>
<DL>
<DD>Returns the object that renders nodes in the tree, and which is 
 responsible for calculating the dimensions of individual nodes.<DD><DL>
<DT><B>Returns:</B><DD>the NodeDimensions object</DL>
</DD>
</DL>
<HR>

<A NAME="setModel(javax.swing.tree.TreeModel)"><!-- --></A><H3>
setModel</H3>
<PRE>
public void <B>setModel</B>(<A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A>&nbsp;newModel)</PRE>
<DL>
<DD>Sets the TreeModel that will provide the data.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>newModel</CODE> - the TreeModel that is to provide the data</DL>
</DD>
</DL>
<HR>

<A NAME="getModel()"><!-- --></A><H3>
getModel</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A> <B>getModel</B>()</PRE>
<DL>
<DD>Returns the TreeModel that is providing the data.<DD><DL>
<DT><B>Returns:</B><DD>the TreeModel that is providing the data</DL>
</DD>
</DL>
<HR>

<A NAME="setRootVisible(boolean)"><!-- --></A><H3>
setRootVisible</H3>
<PRE>
public void <B>setRootVisible</B>(boolean&nbsp;rootVisible)</PRE>
<DL>
<DD>Determines whether or not the root node from
 the TreeModel is visible.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>rootVisible</CODE> - true if the root node of the tree is to be displayed<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#rootVisible"><CODE>rootVisible</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isRootVisible()"><!-- --></A><H3>
isRootVisible</H3>
<PRE>
public boolean <B>isRootVisible</B>()</PRE>
<DL>
<DD>Returns true if the root node of the tree is displayed.<DD><DL>
<DT><B>Returns:</B><DD>true if the root node of the tree is displayed<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/AbstractLayoutCache.html#rootVisible"><CODE>rootVisible</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setRowHeight(int)"><!-- --></A><H3>
setRowHeight</H3>
<PRE>
public void <B>setRowHeight</B>(int&nbsp;rowHeight)</PRE>
<DL>
<DD>Sets the height of each cell.  If the specified value
 is less than or equal to zero the current cell renderer is
 queried for each row's height.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>rowHeight</CODE> - the height of each cell, in pixels</DL>
</DD>
</DL>
<HR>

<A NAME="getRowHeight()"><!-- --></A><H3>
getRowHeight</H3>
<PRE>
public int <B>getRowHeight</B>()</PRE>
<DL>
<DD>Returns the height of each row.  If the returned value is less than
 or equal to 0 the height for each row is determined by the
 renderer.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>the</CODE> - height of each cell, in pixels. Zero or negative if the
        height of each row is determined by the tree cell renderer</DL>
</DD>
</DL>
<HR>

<A NAME="setSelectionModel(javax.swing.tree.TreeSelectionModel)"><!-- --></A><H3>
setSelectionModel</H3>
<PRE>
public void <B>setSelectionModel</B>(<A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A>&nbsp;newLSM)</PRE>
<DL>
<DD>Sets the TreeSelectionModel used to manage the selection to
 new LSM.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getSelectionModel()"><!-- --></A><H3>
getSelectionModel</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeSelectionModel.html">TreeSelectionModel</A> <B>getSelectionModel</B>()</PRE>
<DL>
<DD>Returns the model used to maintain the selection.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPreferredHeight()"><!-- --></A><H3>
getPreferredHeight</H3>
<PRE>
public int <B>getPreferredHeight</B>()</PRE>
<DL>
<DD>Returns the preferred height.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPreferredWidth(java.awt.Rectangle)"><!-- --></A><H3>
getPreferredWidth</H3>
<PRE>
public int <B>getPreferredWidth</B>(java.awt.Rectangle&nbsp;bounds)</PRE>
<DL>
<DD>Returns the preferred width for the passed in region. If
 <code>bounds</code> is null, the preferred width for all the nodes
 will be returned (and this may be VERY expensive).<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isExpanded(javax.swing.tree.TreePath)"><!-- --></A><H3>
isExpanded</H3>
<PRE>
public abstract boolean <B>isExpanded</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</PRE>
<DL>
<DD>Returns true if the value identified by row is currently expanded.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getBounds(javax.swing.tree.TreePath, java.awt.Rectangle)"><!-- --></A><H3>
getBounds</H3>
<PRE>
public abstract java.awt.Rectangle <B>getBounds</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path,
                                             java.awt.Rectangle&nbsp;placeIn)</PRE>
<DL>
<DD>Returns a rectangle giving the bounds needed to draw path.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>path</CODE> - a TreePath specifying a node<DD><CODE>placeIn</CODE> - a Rectangle object giving the available space<DT><B>Returns:</B><DD>a Rectangle object specifying the space to be used</DL>
</DD>
</DL>
<HR>

<A NAME="getPathForRow(int)"><!-- --></A><H3>
getPathForRow</H3>
<PRE>
public abstract <A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A> <B>getPathForRow</B>(int&nbsp;row)</PRE>
<DL>
<DD>Returns the path for passed in row.  If row is not visible
 null is returned.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getRowForPath(javax.swing.tree.TreePath)"><!-- --></A><H3>
getRowForPath</H3>
<PRE>
public abstract int <B>getRowForPath</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</PRE>
<DL>
<DD>Returns the row that the last item identified in path is visible
 at.  Will return -1 if any of the elements in path are not
 currently visible.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPathClosestTo(int, int)"><!-- --></A><H3>
getPathClosestTo</H3>
<PRE>
public abstract <A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A> <B>getPathClosestTo</B>(int&nbsp;x,
                                          int&nbsp;y)</PRE>
<DL>
<DD>Returns the path to the node that is closest to x,y.  If
 there is nothing currently visible this will return null, otherwise
 it'll always return a valid path.  If you need to test if the
 returned object is exactly at x, y you should get the bounds for
 the returned path and test x, y against that.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getVisiblePathsFrom(javax.swing.tree.TreePath)"><!-- --></A><H3>
getVisiblePathsFrom</H3>
<PRE>
public abstract java.util.Enumeration <B>getVisiblePathsFrom</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</PRE>
<DL>
<DD>Returns an Enumerator that increments over the visible paths
 starting at the passed in location. The ordering of the enumeration
 is based on how the paths are displayed. The first element of the
 returned enumeration will be path, unless it isn't visible, in
 which case null will be returned.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getVisibleChildCount(javax.swing.tree.TreePath)"><!-- --></A><H3>
getVisibleChildCount</H3>
<PRE>
public abstract int <B>getVisibleChildCount</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</PRE>
<DL>
<DD>Returns the number of visible children for row.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setExpandedState(javax.swing.tree.TreePath, boolean)"><!-- --></A><H3>
setExpandedState</H3>
<PRE>
public abstract void <B>setExpandedState</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path,
                                      boolean&nbsp;isExpanded)</PRE>
<DL>
<DD>Marks the path <code>path</code> expanded state to
 <code>isExpanded</code>.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getExpandedState(javax.swing.tree.TreePath)"><!-- --></A><H3>
getExpandedState</H3>
<PRE>
public abstract boolean <B>getExpandedState</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</PRE>
<DL>
<DD>Returns true if the path is expanded, and visible.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getRowCount()"><!-- --></A><H3>
getRowCount</H3>
<PRE>
public abstract int <B>getRowCount</B>()</PRE>
<DL>
<DD>Number of rows being displayed.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="invalidateSizes()"><!-- --></A><H3>
invalidateSizes</H3>
<PRE>
public abstract void <B>invalidateSizes</B>()</PRE>
<DL>
<DD>Informs the TreeState that it needs to recalculate all the sizes
 it is referencing.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="invalidatePathBounds(javax.swing.tree.TreePath)"><!-- --></A><H3>
invalidatePathBounds</H3>
<PRE>
public abstract void <B>invalidatePathBounds</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path)</PRE>
<DL>
<DD>Instructs the LayoutCache that the bounds for <code>path</code>
 are invalid, and need to be updated.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="treeNodesChanged(javax.swing.event.TreeModelEvent)"><!-- --></A><H3>
treeNodesChanged</H3>
<PRE>
public abstract void <B>treeNodesChanged</B>(<A HREF="../../../javax/swing/event/TreeModelEvent.html">TreeModelEvent</A>&nbsp;e)</PRE>
<DL>
<DD><p>Invoked after a node (or a set of siblings) has changed in some
 way. The node(s) have not changed locations in the tree or
 altered their children arrays, but other attributes have
 changed and may affect presentation. Example: the name of a
 file has changed, but it is in the same location in the file
 system.</p>

 <p>e.path() returns the path the parent of the changed node(s).</p>

 <p>e.childIndices() returns the index(es) of the changed node(s).</p><DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="treeNodesInserted(javax.swing.event.TreeModelEvent)"><!-- --></A><H3>
treeNodesInserted</H3>
<PRE>
public abstract void <B>treeNodesInserted</B>(<A HREF="../../../javax/swing/event/TreeModelEvent.html">TreeModelEvent</A>&nbsp;e)</PRE>
<DL>
<DD><p>Invoked after nodes have been inserted into the tree.</p>

 <p>e.path() returns the parent of the new nodes
 <p>e.childIndices() returns the indices of the new nodes in
 ascending order.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="treeNodesRemoved(javax.swing.event.TreeModelEvent)"><!-- --></A><H3>
treeNodesRemoved</H3>
<PRE>
public abstract void <B>treeNodesRemoved</B>(<A HREF="../../../javax/swing/event/TreeModelEvent.html">TreeModelEvent</A>&nbsp;e)</PRE>
<DL>
<DD><p>Invoked after nodes have been removed from the tree.  Note that
 if a subtree is removed from the tree, this method may only be
 invoked once for the root of the removed subtree, not once for
 each individual set of siblings removed.</p>

 <p>e.path() returns the former parent of the deleted nodes.</p>

 <p>e.childIndices() returns the indices the nodes had before they were deleted in ascending order.</p><DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="treeStructureChanged(javax.swing.event.TreeModelEvent)"><!-- --></A><H3>
treeStructureChanged</H3>
<PRE>
public abstract void <B>treeStructureChanged</B>(<A HREF="../../../javax/swing/event/TreeModelEvent.html">TreeModelEvent</A>&nbsp;e)</PRE>
<DL>
<DD><p>Invoked after the tree has drastically changed structure from a
 given node down.  If the path returned by e.getPath() is of length
 one and the first element does not identify the current root node
 the first element should become the new root of the tree.<p>

 <p>e.path() holds the path to the node.</p>
 <p>e.childIndices() returns null.</p><DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getRowsForPaths(javax.swing.tree.TreePath[])"><!-- --></A><H3>
getRowsForPaths</H3>
<PRE>
public int[] <B>getRowsForPaths</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>[]&nbsp;paths)</PRE>
<DL>
<DD>Returns the rows that the TreePath instances in <code>path</code>
 are being displayed at. The receiver should return an array of
 the same length as that passed in, and if one of the TreePaths
 in <code>path</code> is not valid its entry in the array should
 be set to -1.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/RowMapper.html#getRowsForPaths(javax.swing.tree.TreePath[])">getRowsForPaths</A> in interface <A HREF="../../../javax/swing/tree/RowMapper.html">RowMapper</A></DL>
</DD>
</DL>
<HR>

<A NAME="getNodeDimensions(java.lang.Object, int, int, boolean, java.awt.Rectangle)"><!-- --></A><H3>
getNodeDimensions</H3>
<PRE>
protected java.awt.Rectangle <B>getNodeDimensions</B>(java.lang.Object&nbsp;value,
                                               int&nbsp;row,
                                               int&nbsp;depth,
                                               boolean&nbsp;expanded,
                                               java.awt.Rectangle&nbsp;placeIn)</PRE>
<DL>
<DD>Returns, by reference in size, the size needed to reprensent
 value. If size is null, a newly created Dimension should be returned,
 otherwise the value should be placed in size and returned. This will
 return null if there is no renderer.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isFixedRowHeight()"><!-- --></A><H3>
isFixedRowHeight</H3>
<PRE>
protected boolean <B>isFixedRowHeight</B>()</PRE>
<DL>
<DD>Returns true if the height of each row is a fixed size.<DD><DL>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" ID="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" ID="NavBarCell1Rev"> &nbsp;<FONT ID="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="class-use/AbstractLayoutCache.html"><FONT ID="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../index-files/index-1.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" ID="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
Swing 1.1</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
&nbsp;PREV CLASS&nbsp;
&nbsp;<A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" ID="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="AbstractLayoutCache.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;<A HREF="#inner_class_summary">INNER</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" ID="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>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<font size="-1"><a href="http://java.sun.com/cgi-bin/bugreport.cgi">Submit a bug or feature</a><br>Java is a trademark or registered trademark of Sun Microsystems,  Inc. in the US and other countries.<br>Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,<br>Palo Alto, California, 94303, U.S.A.  All Rights Reserved.</font>
</BODY>
</HTML>
