<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Tue Jun 29 06:02:09 GMT+01:00 1999 -->
<TITLE>
Swing 1.1 API Specification: Class  DefaultMutableTreeNode
</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/DefaultMutableTreeNode.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;<A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/swing/tree/DefaultTreeCellEditor.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="DefaultMutableTreeNode.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&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  DefaultMutableTreeNode</H2>
<PRE>
java.lang.Object
  |
  +--<B>javax.swing.tree.DefaultMutableTreeNode</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../javax/swing/JTree.DynamicUtilTreeNode.html">JTree.DynamicUtilTreeNode</A></DD>
</DL>
<HR>
<DL>
<DT>public class <B>DefaultMutableTreeNode</B><DT>extends java.lang.Object<DT>implements java.lang.Cloneable, <A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>, java.io.Serializable</DL>

<P>
A <code>DefaultMutableTreeNode</code> is a general-purpose node in a tree data
 structure. A tree node may have at most one parent and 0 or more children.
 <code>DefaultMutableTreeNode</code> provides operations for examining and modifying a
 node's parent and children and also operations for examining the tree that
 the node is a part of.  A node's tree is the set of all nodes that can be
 reached by starting at the node and following all the possible links to
 parents and children.  A node with no parent is the root of its tree; a
 node with no children is a leaf.  A tree may consist of many subtrees,
 each node acting as the root for its own subtree.
 <p>
 This class provides enumerations for efficiently traversing a tree or
 subtree in various orders or for following the path between two nodes.
 A <code>DefaultMutableTreeNode</code> may also hold a reference to a user object, the
 use of which is left to the user.  Asking a <code>DefaultMutableTreeNode</code> for its
 string representation with <code>toString()</code> returns the string
 representation of its user object.
 <p>
 <b>This is not a thread safe class.</b>If you intend to use
 a DefaultMutableTreeNode (or a tree of TreeNodes) in more than one thread, you
 need to do your own synchronizing. A good convention to adopt is
 synchronizing on the root node of a tree.
 <p>
 While DefaultMutableTreeNode implements the MutableTreeNode interface and
 will allow you to add in any implementation of MutableTreeNode not all
 of the methods in DefaultMutableTreeNode will be applicable to all
 MutableTreeNodes implementations. Especially with some of the enumerations
 that are provided, using some of these methods assumes the
 DefaultMutableTreeNode contains only DefaultMutableNode instances. All
 of the TreeNode/MutableTreeNode methods will behave as defined no
 matter what implementations are added.
 <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>
<DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/MutableTreeNode.html"><CODE>MutableTreeNode</CODE></A>, <A HREF="../../../serialized-form.html#javax.swing.tree.DefaultMutableTreeNode">Serialized Form</A></DL>
<HR>

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


<!-- =========== 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;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#allowsChildren">allowsChildren</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;true if the node is able to have children</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Vector</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#children">children</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array of children, may be null if this node has no children</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.util.Enumeration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#EMPTY_ENUMERATION">EMPTY_ENUMERATION</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An enumeration that is always empty.</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/MutableTreeNode.html">MutableTreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#parent">parent</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;this node's parent, or null if this node has no parent</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#userObject">userObject</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;optional user object</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/DefaultMutableTreeNode.html#DefaultMutableTreeNode()">DefaultMutableTreeNode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a tree node that has no parent and no children, but which
 allows children.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#DefaultMutableTreeNode(java.lang.Object)">DefaultMutableTreeNode</A></B>(java.lang.Object&nbsp;userObject)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a tree node with no parent, no children, but which allows 
 children, and initializes it with the specified user object.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#DefaultMutableTreeNode(java.lang.Object, boolean)">DefaultMutableTreeNode</A></B>(java.lang.Object&nbsp;userObject,
                       boolean&nbsp;allowsChildren)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a tree node with no parent, no children, initialized with
 the specified user object, and that allows children only if
 specified.</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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#add(javax.swing.tree.MutableTreeNode)">add</A></B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;newChild)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes <code>newChild</code> from its parent and makes it a child of
 this node by adding it to the end of this node's child array.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#breadthFirstEnumeration()">breadthFirstEnumeration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns an enumeration that traverses the subtree rooted at
 this node in breadth-first order.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#children()">children</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns a forward-order enumeration of this node's
 children.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#clone()">clone</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Overridden to make clone public.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#depthFirstEnumeration()">depthFirstEnumeration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns an enumeration that traverses the subtree rooted at
 this node in depth-first order.</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/DefaultMutableTreeNode.html#getAllowsChildren()">getAllowsChildren</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this node is allowed to have children.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getChildAfter(javax.swing.tree.TreeNode)">getChildAfter</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aChild)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the child in this node's child array that immediately
 follows <code>aChild</code>, which must be a child of this node.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getChildAt(int)">getChildAt</A></B>(int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the child at the specified index in this node's child array.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getChildBefore(javax.swing.tree.TreeNode)">getChildBefore</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aChild)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the child in this node's child array that immediately
 precedes <code>aChild</code>, which must be a child of this node.</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/DefaultMutableTreeNode.html#getChildCount()">getChildCount</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of children of this node.</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/DefaultMutableTreeNode.html#getDepth()">getDepth</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the depth of the tree rooted at this node -- the longest
 distance from this node to a leaf.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getFirstChild()">getFirstChild</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this node's first child.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getFirstLeaf()">getFirstLeaf</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds and returns the first leaf that is a descendant of this node --
 either this node or its first child's first leaf.</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/DefaultMutableTreeNode.html#getIndex(javax.swing.tree.TreeNode)">getIndex</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aChild)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the index of the specified child in this node's child array.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getLastChild()">getLastChild</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this node's last child.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getLastLeaf()">getLastLeaf</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds and returns the last leaf that is a descendant of this node --
 either this node or its last child's last leaf.</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/DefaultMutableTreeNode.html#getLeafCount()">getLeafCount</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the total number of leaves that are descendants of this node.</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/DefaultMutableTreeNode.html#getLevel()">getLevel</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of levels above this node -- the distance from
 the root to this node.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getNextLeaf()">getNextLeaf</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the leaf after this node or null if this node is the
 last leaf in the tree.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getNextNode()">getNextNode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the node that follows this node in a preorder traversal of this
 node's tree.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getNextSibling()">getNextSibling</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the next sibling of this node in the parent's children array.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getParent()">getParent</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this node's parent or null if this node has no parent.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getPath()">getPath</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the path from the root, to get to this node.</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/TreeNode.html">TreeNode</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getPathToRoot(javax.swing.tree.TreeNode, int)">getPathToRoot</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aNode,
              int&nbsp;depth)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Builds the parents of node up to and including the root node,
 where the original node is the last element in the returned array.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getPreviousLeaf()">getPreviousLeaf</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the leaf before this node or null if this node is the
 first leaf in the tree.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getPreviousNode()">getPreviousNode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the node that precedes this node in a preorder traversal of
 this node's tree.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getPreviousSibling()">getPreviousSibling</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the previous sibling of this node in the parent's children
 array.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getRoot()">getRoot</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the root of the tree that contains this node.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)">getSharedAncestor</A></B>(<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A>&nbsp;aNode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the nearest common ancestor to this node and <code>aNode</code>.</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/DefaultMutableTreeNode.html#getSiblingCount()">getSiblingCount</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of siblings of this node.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getUserObject()">getUserObject</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns this node's user object.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.Object[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getUserObjectPath()">getUserObjectPath</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the user object path, from the root, to get to this node.</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/DefaultMutableTreeNode.html#insert(javax.swing.tree.MutableTreeNode, int)">insert</A></B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;newChild,
       int&nbsp;childIndex)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes <code>newChild</code> from its present parent (if it has a
 parent), sets the child's parent to this node, and then adds the child
 to this node's child array at index <code>childIndex</code>.</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/DefaultMutableTreeNode.html#isLeaf()">isLeaf</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this node has no children.</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/DefaultMutableTreeNode.html#isNodeAncestor(javax.swing.tree.TreeNode)">isNodeAncestor</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;anotherNode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if <code>anotherNode</code> is an ancestor of this node
 -- if it is this node, this node's parent, or an ancestor of this
 node's parent.</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/DefaultMutableTreeNode.html#isNodeChild(javax.swing.tree.TreeNode)">isNodeChild</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aNode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if <code>aNode</code> is a child of this node.</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/DefaultMutableTreeNode.html#isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)">isNodeDescendant</A></B>(<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A>&nbsp;anotherNode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if <code>anotherNode</code> is a descendant of this node
 -- if it is this node, one of this node's children, or a descendant of
 one of this node's children.</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/DefaultMutableTreeNode.html#isNodeRelated(javax.swing.tree.DefaultMutableTreeNode)">isNodeRelated</A></B>(<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A>&nbsp;aNode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if and only if <code>aNode</code> is in the same tree
 as this node.</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/DefaultMutableTreeNode.html#isNodeSibling(javax.swing.tree.TreeNode)">isNodeSibling</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;anotherNode)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if <code>anotherNode</code> is a sibling of (has the
 same parent as) this node.</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/DefaultMutableTreeNode.html#isRoot()">isRoot</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this node is the root of the tree.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#pathFromAncestorEnumeration(javax.swing.tree.TreeNode)">pathFromAncestorEnumeration</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;ancestor)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns an enumeration that follows the path from
 <code>ancestor</code> to this node.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#postorderEnumeration()">postorderEnumeration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns an enumeration that traverses the subtree rooted at
 this node in postorder.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#preorderEnumeration()">preorderEnumeration</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and returns an enumeration that traverses the subtree rooted at
 this node in preorder.</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/DefaultMutableTreeNode.html#remove(int)">remove</A></B>(int&nbsp;childIndex)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the child at the specified index from this node's children
 and sets that node's parent to null.</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/DefaultMutableTreeNode.html#remove(javax.swing.tree.MutableTreeNode)">remove</A></B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;aChild)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes <code>aChild</code> from this node's child array, giving it a
 null parent.</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/DefaultMutableTreeNode.html#removeAllChildren()">removeAllChildren</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes all of this node's children, setting their parents to null.</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/DefaultMutableTreeNode.html#removeFromParent()">removeFromParent</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the subtree rooted at this node from the tree, giving this
 node a null parent.</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/DefaultMutableTreeNode.html#setAllowsChildren(boolean)">setAllowsChildren</A></B>(boolean&nbsp;allows)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines whether or not this node is allowed to have children.</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/DefaultMutableTreeNode.html#setParent(javax.swing.tree.MutableTreeNode)">setParent</A></B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;newParent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets this node's parent to <code>newParent</code> but does not 
 change the parent's child array.</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/DefaultMutableTreeNode.html#setUserObject(java.lang.Object)">setUserObject</A></B>(java.lang.Object&nbsp;userObject)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the user object for this node to <code>userObject</code>.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#toString()">toString</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the result of sending <code>toString()</code> to this node's
 user object, or null if this node has no user object.</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>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" 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="EMPTY_ENUMERATION"><!-- --></A><H3>
EMPTY_ENUMERATION</H3>
<PRE>
public static final java.util.Enumeration <B>EMPTY_ENUMERATION</B></PRE>
<DL>
<DD>An enumeration that is always empty. This is used when an enumeration
 of a leaf node's children is requested.</DL>
<HR>

<A NAME="parent"><!-- --></A><H3>
parent</H3>
<PRE>
protected <A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A> <B>parent</B></PRE>
<DL>
<DD>this node's parent, or null if this node has no parent</DL>
<HR>

<A NAME="children"><!-- --></A><H3>
children</H3>
<PRE>
protected java.util.Vector <B>children</B></PRE>
<DL>
<DD>array of children, may be null if this node has no children</DL>
<HR>

<A NAME="userObject"><!-- --></A><H3>
userObject</H3>
<PRE>
protected transient java.lang.Object <B>userObject</B></PRE>
<DL>
<DD>optional user object</DL>
<HR>

<A NAME="allowsChildren"><!-- --></A><H3>
allowsChildren</H3>
<PRE>
protected boolean <B>allowsChildren</B></PRE>
<DL>
<DD>true if the node is able to have children</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="DefaultMutableTreeNode()"><!-- --></A><H3>
DefaultMutableTreeNode</H3>
<PRE>
public <B>DefaultMutableTreeNode</B>()</PRE>
<DL>
<DD>Creates a tree node that has no parent and no children, but which
 allows children.</DL>
<HR>

<A NAME="DefaultMutableTreeNode(java.lang.Object)"><!-- --></A><H3>
DefaultMutableTreeNode</H3>
<PRE>
public <B>DefaultMutableTreeNode</B>(java.lang.Object&nbsp;userObject)</PRE>
<DL>
<DD>Creates a tree node with no parent, no children, but which allows 
 children, and initializes it with the specified user object.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>userObject</CODE> - an Object provided by the user that constitutes
                   the node's data</DL>
</DD>
</DL>
<HR>

<A NAME="DefaultMutableTreeNode(java.lang.Object, boolean)"><!-- --></A><H3>
DefaultMutableTreeNode</H3>
<PRE>
public <B>DefaultMutableTreeNode</B>(java.lang.Object&nbsp;userObject,
                              boolean&nbsp;allowsChildren)</PRE>
<DL>
<DD>Creates a tree node with no parent, no children, initialized with
 the specified user object, and that allows children only if
 specified.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>userObject</CODE> - an Object provided by the user that constitutes
        the node's data<DD><CODE>allowsChildren</CODE> - if true, the node is allowed to have child
        nodes -- otherwise, it is always a leaf node</DL>
</DD>
</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="insert(javax.swing.tree.MutableTreeNode, int)"><!-- --></A><H3>
insert</H3>
<PRE>
public void <B>insert</B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;newChild,
                   int&nbsp;childIndex)</PRE>
<DL>
<DD>Removes <code>newChild</code> from its present parent (if it has a
 parent), sets the child's parent to this node, and then adds the child
 to this node's child array at index <code>childIndex</code>.
 <code>newChild</code> must not be null and must not be an ancestor of
 this node.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/MutableTreeNode.html#insert(javax.swing.tree.MutableTreeNode, int)">insert</A> in interface <A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A><DT><B>Parameters:</B><DD><CODE>newChild</CODE> - the MutableTreeNode to insert under this node<DD><CODE>childIndex</CODE> - the index in this node's child array
				where this node is to be inserted<DT><B>Throws:</B><DD>ArrayIndexOutOfBoundsException - if
				<code>childIndex</code> is out of bounds<DD>java.lang.IllegalArgumentException - if
				<code>newChild</code> is null or is an
				ancestor of this node<DD>java.lang.IllegalStateException - if this node does not allow
						children<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)"><CODE>isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="remove(int)"><!-- --></A><H3>
remove</H3>
<PRE>
public void <B>remove</B>(int&nbsp;childIndex)</PRE>
<DL>
<DD>Removes the child at the specified index from this node's children
 and sets that node's parent to null. The child node to remove
 must be a <code>MutableTreeNode</code>.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/MutableTreeNode.html#remove(int)">remove</A> in interface <A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A><DT><B>Parameters:</B><DD><CODE>childIndex</CODE> - the index in this node's child array
				of the child to remove<DT><B>Throws:</B><DD>ArrayIndexOutOfBoundsException - if
				<code>childIndex</code> is out of bounds</DL>
</DD>
</DL>
<HR>

<A NAME="setParent(javax.swing.tree.MutableTreeNode)"><!-- --></A><H3>
setParent</H3>
<PRE>
public void <B>setParent</B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;newParent)</PRE>
<DL>
<DD>Sets this node's parent to <code>newParent</code> but does not 
 change the parent's child array.  This method is called from
 <code>insert()</code> and <code>remove()</code> to
 reassign a child's parent, it should not be messaged from anywhere
 else.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/MutableTreeNode.html#setParent(javax.swing.tree.MutableTreeNode)">setParent</A> in interface <A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A><DT><B>Parameters:</B><DD><CODE>newParent</CODE> - this node's new parent</DL>
</DD>
</DL>
<HR>

<A NAME="getParent()"><!-- --></A><H3>
getParent</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A> <B>getParent</B>()</PRE>
<DL>
<DD>Returns this node's parent or null if this node has no parent.<DD><DL>
<DT><B>Returns:</B><DD>this node's parent TreeNode, or null if this node has no parent</DL>
</DD>
</DL>
<HR>

<A NAME="getChildAt(int)"><!-- --></A><H3>
getChildAt</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A> <B>getChildAt</B>(int&nbsp;index)</PRE>
<DL>
<DD>Returns the child at the specified index in this node's child array.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - an index into this node's child array<DT><B>Returns:</B><DD>the TreeNode in this node's child array at  the specified index<DT><B>Throws:</B><DD>ArrayIndexOutOfBoundsException - if <code>index</code>
						is out of bounds</DL>
</DD>
</DL>
<HR>

<A NAME="getChildCount()"><!-- --></A><H3>
getChildCount</H3>
<PRE>
public int <B>getChildCount</B>()</PRE>
<DL>
<DD>Returns the number of children of this node.<DD><DL>
<DT><B>Returns:</B><DD>an int giving the number of children of this node</DL>
</DD>
</DL>
<HR>

<A NAME="getIndex(javax.swing.tree.TreeNode)"><!-- --></A><H3>
getIndex</H3>
<PRE>
public int <B>getIndex</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aChild)</PRE>
<DL>
<DD>Returns the index of the specified child in this node's child array.
 If the specified node is not a child of this node, returns
 <code>-1</code>.  This method performs a linear search and is O(n)
 where n is the number of children.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aChild</CODE> - the TreeNode to search for among this node's children<DT><B>Returns:</B><DD>an int giving the index of the node in this node's child 
          array, or <code>-1</code> if the specified node is a not
          a child of this node<DT><B>Throws:</B><DD>java.lang.IllegalArgumentException - if <code>aChild</code>
							is null</DL>
</DD>
</DL>
<HR>

<A NAME="children()"><!-- --></A><H3>
children</H3>
<PRE>
public java.util.Enumeration <B>children</B>()</PRE>
<DL>
<DD>Creates and returns a forward-order enumeration of this node's
 children.  Modifying this node's child array invalidates any child
 enumerations created before the modification.<DD><DL>
<DT><B>Returns:</B><DD>an Enumeration of this node's children</DL>
</DD>
</DL>
<HR>

<A NAME="setAllowsChildren(boolean)"><!-- --></A><H3>
setAllowsChildren</H3>
<PRE>
public void <B>setAllowsChildren</B>(boolean&nbsp;allows)</PRE>
<DL>
<DD>Determines whether or not this node is allowed to have children. 
 If <code>allows</code> is false, all of this node's children are
 removed.
 <p>
 Note: By default, a node allows children.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>allows</CODE> - true if this node is allowed to have children</DL>
</DD>
</DL>
<HR>

<A NAME="getAllowsChildren()"><!-- --></A><H3>
getAllowsChildren</H3>
<PRE>
public boolean <B>getAllowsChildren</B>()</PRE>
<DL>
<DD>Returns true if this node is allowed to have children.<DD><DL>
<DT><B>Returns:</B><DD>true if this node allows children, else false</DL>
</DD>
</DL>
<HR>

<A NAME="setUserObject(java.lang.Object)"><!-- --></A><H3>
setUserObject</H3>
<PRE>
public void <B>setUserObject</B>(java.lang.Object&nbsp;userObject)</PRE>
<DL>
<DD>Sets the user object for this node to <code>userObject</code>.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/MutableTreeNode.html#setUserObject(java.lang.Object)">setUserObject</A> in interface <A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A><DT><B>Parameters:</B><DD><CODE>userObject</CODE> - the Object that constitutes this node's 
                          user-specified data<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getUserObject()"><CODE>getUserObject()</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#toString()"><CODE>toString()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getUserObject()"><!-- --></A><H3>
getUserObject</H3>
<PRE>
public java.lang.Object <B>getUserObject</B>()</PRE>
<DL>
<DD>Returns this node's user object.<DD><DL>
<DT><B>Returns:</B><DD>the Object stored at this node by the user<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#setUserObject(java.lang.Object)"><CODE>setUserObject(java.lang.Object)</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#toString()"><CODE>toString()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="removeFromParent()"><!-- --></A><H3>
removeFromParent</H3>
<PRE>
public void <B>removeFromParent</B>()</PRE>
<DL>
<DD>Removes the subtree rooted at this node from the tree, giving this
 node a null parent.  Does nothing if this node is the root of its
 tree.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/MutableTreeNode.html#removeFromParent()">removeFromParent</A> in interface <A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A></DL>
</DD>
</DL>
<HR>

<A NAME="remove(javax.swing.tree.MutableTreeNode)"><!-- --></A><H3>
remove</H3>
<PRE>
public void <B>remove</B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;aChild)</PRE>
<DL>
<DD>Removes <code>aChild</code> from this node's child array, giving it a
 null parent.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/MutableTreeNode.html#remove(javax.swing.tree.MutableTreeNode)">remove</A> in interface <A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A><DT><B>Parameters:</B><DD><CODE>aChild</CODE> - a child of this node to remove<DT><B>Throws:</B><DD>java.lang.IllegalArgumentException - if <code>aChild</code>
					is null or is not a child of this node</DL>
</DD>
</DL>
<HR>

<A NAME="removeAllChildren()"><!-- --></A><H3>
removeAllChildren</H3>
<PRE>
public void <B>removeAllChildren</B>()</PRE>
<DL>
<DD>Removes all of this node's children, setting their parents to null.
 If this node has no children, this method does nothing.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="add(javax.swing.tree.MutableTreeNode)"><!-- --></A><H3>
add</H3>
<PRE>
public void <B>add</B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;newChild)</PRE>
<DL>
<DD>Removes <code>newChild</code> from its parent and makes it a child of
 this node by adding it to the end of this node's child array.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>newChild</CODE> - node to add as a child of this node<DT><B>Throws:</B><DD>java.lang.IllegalArgumentException - if <code>newChild</code>
						is null<DD>java.lang.IllegalStateException - if this node does not allow
						children<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#insert(javax.swing.tree.MutableTreeNode, int)"><CODE>insert(javax.swing.tree.MutableTreeNode, int)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isNodeAncestor(javax.swing.tree.TreeNode)"><!-- --></A><H3>
isNodeAncestor</H3>
<PRE>
public boolean <B>isNodeAncestor</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;anotherNode)</PRE>
<DL>
<DD>Returns true if <code>anotherNode</code> is an ancestor of this node
 -- if it is this node, this node's parent, or an ancestor of this
 node's parent.  (Note that a node is considered an ancestor of itself.)
 If <code>anotherNode</code> is null, this method returns false.  This
 operation is at worst O(h) where h is the distance from the root to
 this node.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>anotherNode</CODE> - node to test as an ancestor of this node<DT><B>Returns:</B><DD>true if this node is a descendant of <code>anotherNode</code><DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)"><CODE>isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)"><CODE>getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)"><!-- --></A><H3>
isNodeDescendant</H3>
<PRE>
public boolean <B>isNodeDescendant</B>(<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A>&nbsp;anotherNode)</PRE>
<DL>
<DD>Returns true if <code>anotherNode</code> is a descendant of this node
 -- if it is this node, one of this node's children, or a descendant of
 one of this node's children.  Note that a node is considered a
 descendant of itself.  If <code>anotherNode</code> is null, returns
 false.  This operation is at worst O(h) where h is the distance from the
 root to <code>anotherNode</code>.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>anotherNode</CODE> - node to test as descendant of this node<DT><B>Returns:</B><DD>true if this node is an ancestor of <code>anotherNode</code><DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeAncestor(javax.swing.tree.TreeNode)"><CODE>isNodeAncestor(javax.swing.tree.TreeNode)</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)"><CODE>getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)"><!-- --></A><H3>
getSharedAncestor</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A> <B>getSharedAncestor</B>(<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A>&nbsp;aNode)</PRE>
<DL>
<DD>Returns the nearest common ancestor to this node and <code>aNode</code>.
 Returns null, if no such ancestor exists -- if this node and
 <code>aNode</code> are in different trees or if <code>aNode</code> is
 null.  A node is considered an ancestor of itself.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aNode</CODE> - node to find common ancestor with<DT><B>Returns:</B><DD>nearest ancestor common to this node and <code>aNode</code>,
		or null if none<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeAncestor(javax.swing.tree.TreeNode)"><CODE>isNodeAncestor(javax.swing.tree.TreeNode)</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)"><CODE>isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isNodeRelated(javax.swing.tree.DefaultMutableTreeNode)"><!-- --></A><H3>
isNodeRelated</H3>
<PRE>
public boolean <B>isNodeRelated</B>(<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A>&nbsp;aNode)</PRE>
<DL>
<DD>Returns true if and only if <code>aNode</code> is in the same tree
 as this node.  Returns false if <code>aNode</code> is null.<DD><DL>
<DT><B>Returns:</B><DD>true if <code>aNode</code> is in the same tree as this node;
		false if <code>aNode</code> is null<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)"><CODE>getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getRoot()"><CODE>getRoot()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getDepth()"><!-- --></A><H3>
getDepth</H3>
<PRE>
public int <B>getDepth</B>()</PRE>
<DL>
<DD>Returns the depth of the tree rooted at this node -- the longest
 distance from this node to a leaf.  If this node has no children,
 returns 0.  This operation is much more expensive than
 <code>getLevel()</code> because it must effectively traverse the entire
 tree rooted at this node.<DD><DL>
<DT><B>Returns:</B><DD>the depth of the tree whose root is this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getLevel()"><CODE>getLevel()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getLevel()"><!-- --></A><H3>
getLevel</H3>
<PRE>
public int <B>getLevel</B>()</PRE>
<DL>
<DD>Returns the number of levels above this node -- the distance from
 the root to this node.  If this node is the root, returns 0.<DD><DL>
<DT><B>Returns:</B><DD>the number of levels above this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getDepth()"><CODE>getDepth()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPath()"><!-- --></A><H3>
getPath</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>[] <B>getPath</B>()</PRE>
<DL>
<DD>Returns the path from the root, to get to this node.  The last
 element in the path is this node.<DD><DL>
<DT><B>Returns:</B><DD>an array of TreeNode objects giving the path, where the
         first element in the path is the root and the last
         element is this node.</DL>
</DD>
</DL>
<HR>

<A NAME="getPathToRoot(javax.swing.tree.TreeNode, int)"><!-- --></A><H3>
getPathToRoot</H3>
<PRE>
protected <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>[] <B>getPathToRoot</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aNode,
                                   int&nbsp;depth)</PRE>
<DL>
<DD>Builds the parents of node up to and including the root node,
 where the original node is the last element in the returned array.
 The length of the returned array gives the node's depth in the
 tree.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>aNode</CODE> - the TreeNode to get the path for<DD><CODE>depth</CODE> - an int giving the number of steps already taken towards
        the root (on recursive calls), used to size the returned array<DT><B>Returns:</B><DD>an array of TreeNodes giving the path from the root to the
         specified node</DL>
</DD>
</DL>
<HR>

<A NAME="getUserObjectPath()"><!-- --></A><H3>
getUserObjectPath</H3>
<PRE>
public java.lang.Object[] <B>getUserObjectPath</B>()</PRE>
<DL>
<DD>Returns the user object path, from the root, to get to this node.
 If some of the TreeNodes in the path have null user objects, the
 returned path will contain nulls.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getRoot()"><!-- --></A><H3>
getRoot</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A> <B>getRoot</B>()</PRE>
<DL>
<DD>Returns the root of the tree that contains this node.  The root is
 the ancestor with a null parent.<DD><DL>
<DT><B>Returns:</B><DD>the root of the tree that contains this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeAncestor(javax.swing.tree.TreeNode)"><CODE>isNodeAncestor(javax.swing.tree.TreeNode)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isRoot()"><!-- --></A><H3>
isRoot</H3>
<PRE>
public boolean <B>isRoot</B>()</PRE>
<DL>
<DD>Returns true if this node is the root of the tree.  The root is
 the only node in the tree with a null parent; every tree has exactly
 one root.<DD><DL>
<DT><B>Returns:</B><DD>true if this node is the root of its tree</DL>
</DD>
</DL>
<HR>

<A NAME="getNextNode()"><!-- --></A><H3>
getNextNode</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A> <B>getNextNode</B>()</PRE>
<DL>
<DD>Returns the node that follows this node in a preorder traversal of this
 node's tree.  Returns null if this node is the last node of the
 traversal.  This is an inefficient way to traverse the entire tree; use
 an enumeration, instead.<DD><DL>
<DT><B>Returns:</B><DD>the node that follows this node in a preorder traversal, or
		null if this node is last<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#preorderEnumeration()"><CODE>preorderEnumeration()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPreviousNode()"><!-- --></A><H3>
getPreviousNode</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A> <B>getPreviousNode</B>()</PRE>
<DL>
<DD>Returns the node that precedes this node in a preorder traversal of
 this node's tree.  Returns null if this node is the first node of the
 traveral -- the root of the tree.  This is an inefficient way to
 traverse the entire tree; use an enumeration, instead.<DD><DL>
<DT><B>Returns:</B><DD>the node that precedes this node in a preorder traversal, or
		null if this node is the first<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#preorderEnumeration()"><CODE>preorderEnumeration()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="preorderEnumeration()"><!-- --></A><H3>
preorderEnumeration</H3>
<PRE>
public java.util.Enumeration <B>preorderEnumeration</B>()</PRE>
<DL>
<DD>Creates and returns an enumeration that traverses the subtree rooted at
 this node in preorder.  The first node returned by the enumeration's
 <code>nextElement()</code> method is this node.<P>

 Modifying the tree by inserting, removing, or moving a node invalidates
 any enumerations created before the modification.<DD><DL>
<DT><B>Returns:</B><DD>an enumeration for traversing the tree in preorder<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#postorderEnumeration()"><CODE>postorderEnumeration()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="postorderEnumeration()"><!-- --></A><H3>
postorderEnumeration</H3>
<PRE>
public java.util.Enumeration <B>postorderEnumeration</B>()</PRE>
<DL>
<DD>Creates and returns an enumeration that traverses the subtree rooted at
 this node in postorder.  The first node returned by the enumeration's
 <code>nextElement()</code> method is the leftmost leaf.  This is the
 same as a depth-first traversal.<P>

 Modifying the tree by inserting, removing, or moving a node invalidates
 any enumerations created before the modification.<DD><DL>
<DT><B>Returns:</B><DD>an enumeration for traversing the tree in postorder<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#depthFirstEnumeration()"><CODE>depthFirstEnumeration()</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#preorderEnumeration()"><CODE>preorderEnumeration()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="breadthFirstEnumeration()"><!-- --></A><H3>
breadthFirstEnumeration</H3>
<PRE>
public java.util.Enumeration <B>breadthFirstEnumeration</B>()</PRE>
<DL>
<DD>Creates and returns an enumeration that traverses the subtree rooted at
 this node in breadth-first order.  The first node returned by the
 enumeration's <code>nextElement()</code> method is this node.<P>

 Modifying the tree by inserting, removing, or moving a node invalidates
 any enumerations created before the modification.<DD><DL>
<DT><B>Returns:</B><DD>an enumeration for traversing the tree in breadth-first order<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#depthFirstEnumeration()"><CODE>depthFirstEnumeration()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="depthFirstEnumeration()"><!-- --></A><H3>
depthFirstEnumeration</H3>
<PRE>
public java.util.Enumeration <B>depthFirstEnumeration</B>()</PRE>
<DL>
<DD>Creates and returns an enumeration that traverses the subtree rooted at
 this node in depth-first order.  The first node returned by the
 enumeration's <code>nextElement()</code> method is the leftmost leaf.
 This is the same as a postorder traversal.<P>

 Modifying the tree by inserting, removing, or moving a node invalidates
 any enumerations created before the modification.<DD><DL>
<DT><B>Returns:</B><DD>an enumeration for traversing the tree in depth-first order<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#breadthFirstEnumeration()"><CODE>breadthFirstEnumeration()</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#postorderEnumeration()"><CODE>postorderEnumeration()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="pathFromAncestorEnumeration(javax.swing.tree.TreeNode)"><!-- --></A><H3>
pathFromAncestorEnumeration</H3>
<PRE>
public java.util.Enumeration <B>pathFromAncestorEnumeration</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;ancestor)</PRE>
<DL>
<DD>Creates and returns an enumeration that follows the path from
 <code>ancestor</code> to this node.  The enumeration's
 <code>nextElement()</code> method first returns <code>ancestor</code>,
 then the child of <code>ancestor</code> that is an ancestor of this
 node, and so on, and finally returns this node.  Creation of the
 enumeration is O(m) where m is the number of nodes between this node
 and <code>ancestor</code>, inclusive.  Each <code>nextElement()</code>
 message is O(1).<P>

 Modifying the tree by inserting, removing, or moving a node invalidates
 any enumerations created before the modification.<DD><DL>
<DT><B>Returns:</B><DD>an enumeration for following the path from an ancestor of
		this node to this one<DT><B>Throws:</B><DD>java.lang.IllegalArgumentException - if <code>ancestor</code> is
						not an ancestor of this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeAncestor(javax.swing.tree.TreeNode)"><CODE>isNodeAncestor(javax.swing.tree.TreeNode)</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)"><CODE>isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="isNodeChild(javax.swing.tree.TreeNode)"><!-- --></A><H3>
isNodeChild</H3>
<PRE>
public boolean <B>isNodeChild</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aNode)</PRE>
<DL>
<DD>Returns true if <code>aNode</code> is a child of this node.  If
 <code>aNode</code> is null, this method returns false.<DD><DL>
<DT><B>Returns:</B><DD>true if <code>aNode</code> is a child of this node; false if 
  		<code>aNode</code> is null</DL>
</DD>
</DL>
<HR>

<A NAME="getFirstChild()"><!-- --></A><H3>
getFirstChild</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A> <B>getFirstChild</B>()</PRE>
<DL>
<DD>Returns this node's first child.  If this node has no children,
 throws NoSuchElementException.<DD><DL>
<DT><B>Returns:</B><DD>the first child of this node<DT><B>Throws:</B><DD>java.util.NoSuchElementException - if this node has no children</DL>
</DD>
</DL>
<HR>

<A NAME="getLastChild()"><!-- --></A><H3>
getLastChild</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A> <B>getLastChild</B>()</PRE>
<DL>
<DD>Returns this node's last child.  If this node has no children,
 throws NoSuchElementException.<DD><DL>
<DT><B>Returns:</B><DD>the last child of this node<DT><B>Throws:</B><DD>java.util.NoSuchElementException - if this node has no children</DL>
</DD>
</DL>
<HR>

<A NAME="getChildAfter(javax.swing.tree.TreeNode)"><!-- --></A><H3>
getChildAfter</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A> <B>getChildAfter</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aChild)</PRE>
<DL>
<DD>Returns the child in this node's child array that immediately
 follows <code>aChild</code>, which must be a child of this node.  If
 <code>aChild</code> is the last child, returns null.  This method
 performs a linear search of this node's children for
 <code>aChild</code> and is O(n) where n is the number of children; to
 traverse the entire array of children, use an enumeration instead.<DD><DL>
<DT><B>Returns:</B><DD>the child of this node that immediately follows
		<code>aChild</code><DT><B>Throws:</B><DD>java.lang.IllegalArgumentException - if <code>aChild</code> is
					null or is not a child of this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#children"><CODE>children</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getChildBefore(javax.swing.tree.TreeNode)"><!-- --></A><H3>
getChildBefore</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A> <B>getChildBefore</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aChild)</PRE>
<DL>
<DD>Returns the child in this node's child array that immediately
 precedes <code>aChild</code>, which must be a child of this node.  If
 <code>aChild</code> is the first child, returns null.  This method
 performs a linear search of this node's children for <code>aChild</code>
 and is O(n) where n is the number of children.<DD><DL>
<DT><B>Returns:</B><DD>the child of this node that immediately precedes
		<code>aChild</code><DT><B>Throws:</B><DD>java.lang.IllegalArgumentException - if <code>aChild</code> is null
						or is not a child of this node</DL>
</DD>
</DL>
<HR>

<A NAME="isNodeSibling(javax.swing.tree.TreeNode)"><!-- --></A><H3>
isNodeSibling</H3>
<PRE>
public boolean <B>isNodeSibling</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;anotherNode)</PRE>
<DL>
<DD>Returns true if <code>anotherNode</code> is a sibling of (has the
 same parent as) this node.  A node is its own sibling.  If
 <code>anotherNode</code> is null, returns false.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>anotherNode</CODE> - node to test as sibling of this node<DT><B>Returns:</B><DD>true if <code>anotherNode</code> is a sibling of this node</DL>
</DD>
</DL>
<HR>

<A NAME="getSiblingCount()"><!-- --></A><H3>
getSiblingCount</H3>
<PRE>
public int <B>getSiblingCount</B>()</PRE>
<DL>
<DD>Returns the number of siblings of this node.  A node is its own sibling
 (if it has no parent or no siblings, this method returns
 <code>1</code>).<DD><DL>
<DT><B>Returns:</B><DD>the number of siblings of this node</DL>
</DD>
</DL>
<HR>

<A NAME="getNextSibling()"><!-- --></A><H3>
getNextSibling</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A> <B>getNextSibling</B>()</PRE>
<DL>
<DD>Returns the next sibling of this node in the parent's children array.
 Returns null if this node has no parent or is the parent's last child.
 This method performs a linear search that is O(n) where n is the number
 of children; to traverse the entire array, use the parent's child
 enumeration instead.<DD><DL>
<DT><B>Returns:</B><DD>the sibling of this node that immediately follows this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#children"><CODE>children</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPreviousSibling()"><!-- --></A><H3>
getPreviousSibling</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A> <B>getPreviousSibling</B>()</PRE>
<DL>
<DD>Returns the previous sibling of this node in the parent's children
 array.  Returns null if this node has no parent or is the parent's
 first child.  This method performs a linear search that is O(n) where n
 is the number of children.<DD><DL>
<DT><B>Returns:</B><DD>the sibling of this node that immediately precedes this node</DL>
</DD>
</DL>
<HR>

<A NAME="isLeaf()"><!-- --></A><H3>
isLeaf</H3>
<PRE>
public boolean <B>isLeaf</B>()</PRE>
<DL>
<DD>Returns true if this node has no children.  To distinguish between
 nodes that have no children and nodes that <i>cannot</i> have
 children (e.g. to distinguish files from empty directories), use this
 method in conjunction with <code>getAllowsChildren</code><DD><DL>
<DT><B>Returns:</B><DD>true if this node has no children<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getAllowsChildren()"><CODE>getAllowsChildren()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getFirstLeaf()"><!-- --></A><H3>
getFirstLeaf</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A> <B>getFirstLeaf</B>()</PRE>
<DL>
<DD>Finds and returns the first leaf that is a descendant of this node --
 either this node or its first child's first leaf.
 Returns this node if it is a leaf.<DD><DL>
<DT><B>Returns:</B><DD>the first leaf in the subtree rooted at this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isLeaf()"><CODE>isLeaf()</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)"><CODE>isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getLastLeaf()"><!-- --></A><H3>
getLastLeaf</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A> <B>getLastLeaf</B>()</PRE>
<DL>
<DD>Finds and returns the last leaf that is a descendant of this node --
 either this node or its last child's last leaf. 
 Returns this node if it is a leaf.<DD><DL>
<DT><B>Returns:</B><DD>the last leaf in the subtree rooted at this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isLeaf()"><CODE>isLeaf()</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)"><CODE>isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getNextLeaf()"><!-- --></A><H3>
getNextLeaf</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A> <B>getNextLeaf</B>()</PRE>
<DL>
<DD>Returns the leaf after this node or null if this node is the
 last leaf in the tree.
 <p>
 In this implementation of the <code>MutableNode</code> interface,
 this operation is very inefficient. In order to determine the
 next node, this method first performs a linear search in the 
 parent's child-list in order to find the current node. 
 <p>
 That implementation makes the operation suitable for short
 traversals from a known position. But to traverse all of the 
 leaves in the tree, you should use <code>depthFirstEnumeration</code>
 to enumerate the nodes in the tree and use <code>isLeaf</code>
 on each node to determine which are leaves.<DD><DL>
<DT><B>Returns:</B><DD>returns the next leaf past this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#depthFirstEnumeration()"><CODE>depthFirstEnumeration()</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isLeaf()"><CODE>isLeaf()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getPreviousLeaf()"><!-- --></A><H3>
getPreviousLeaf</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html">DefaultMutableTreeNode</A> <B>getPreviousLeaf</B>()</PRE>
<DL>
<DD>Returns the leaf before this node or null if this node is the
 first leaf in the tree.
 <p>
 In this implementation of the <code>MutableNode</code> interface,
 this operation is very inefficient. In order to determine the
 previous node, this method first performs a linear search in the 
 parent's child-list in order to find the current node. 
 <p>
 That implementation makes the operation suitable for short
 traversals from a known position. But to traverse all of the 
 leaves in the tree, you should use <code>depthFirstEnumeration</code>
 to enumerate the nodes in the tree and use <code>isLeaf</code>
 on each node to determine which are leaves.<DD><DL>
<DT><B>Returns:</B><DD>returns the leaf before this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#depthFirstEnumeration()"><CODE>depthFirstEnumeration()</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isLeaf()"><CODE>isLeaf()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="getLeafCount()"><!-- --></A><H3>
getLeafCount</H3>
<PRE>
public int <B>getLeafCount</B>()</PRE>
<DL>
<DD>Returns the total number of leaves that are descendants of this node.
 If this node is a leaf, returns <code>1</code>.  This method is O(n)
 where n is the number of descendants of this node.<DD><DL>
<DT><B>Returns:</B><DD>the number of leaves beneath this node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#isNodeAncestor(javax.swing.tree.TreeNode)"><CODE>isNodeAncestor(javax.swing.tree.TreeNode)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>()</PRE>
<DL>
<DD>Returns the result of sending <code>toString()</code> to this node's
 user object, or null if this node has no user object.<DD><DL>
<DT><B>Overrides:</B><DD>toString in class java.lang.Object<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultMutableTreeNode.html#getUserObject()"><CODE>getUserObject()</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="clone()"><!-- --></A><H3>
clone</H3>
<PRE>
public java.lang.Object <B>clone</B>()</PRE>
<DL>
<DD>Overridden to make clone public.  Returns a shallow copy of this node;
 the new node has no parent or children and has a reference to the same
 user object, if any.<DD><DL>
<DT><B>Returns:</B><DD>a copy of this node<DT><B>Overrides:</B><DD>clone in class java.lang.Object</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/DefaultMutableTreeNode.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;<A HREF="../../../javax/swing/tree/AbstractLayoutCache.NodeDimensions.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/swing/tree/DefaultTreeCellEditor.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="DefaultMutableTreeNode.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" ID="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&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>
