<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Tue Jun 29 06:02:15 GMT+01:00 1999 -->
<TITLE>
Swing 1.1 API Specification: Class  DefaultTreeModel
</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/DefaultTreeModel.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/DefaultTreeCellRenderer.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.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="DefaultTreeModel.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  DefaultTreeModel</H2>
<PRE>
java.lang.Object
  |
  +--<B>javax.swing.tree.DefaultTreeModel</B>
</PRE>
<HR>
<DL>
<DT>public class <B>DefaultTreeModel</B><DT>extends java.lang.Object<DT>implements java.io.Serializable, <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A></DL>

<P>
A simple tree data model that uses TreeNodes.
 <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="../../../serialized-form.html#javax.swing.tree.DefaultTreeModel">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/DefaultTreeModel.html#asksAllowsChildren">asksAllowsChildren</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines how the <code>isLeaf</code> method figures
 out if a node is a leaf 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/event/EventListenerList.html">EventListenerList</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#listenerList">listenerList</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Listeners.</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/DefaultTreeModel.html#root">root</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Root of the tree.</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/DefaultTreeModel.html#DefaultTreeModel(javax.swing.tree.TreeNode)">DefaultTreeModel</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;root)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a tree in which any node can have children.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#DefaultTreeModel(javax.swing.tree.TreeNode, boolean)">DefaultTreeModel</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;root,
                 boolean&nbsp;asksAllowsChildren)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a tree specifying whether any node can have children,
 or whether only certain nodes can have children.</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/DefaultTreeModel.html#addTreeModelListener(javax.swing.event.TreeModelListener)">addTreeModelListener</A></B>(<A HREF="../../../javax/swing/event/TreeModelListener.html">TreeModelListener</A>&nbsp;l)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Adds a listener for the TreeModelEvent posted after the tree changes.</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/DefaultTreeModel.html#asksAllowsChildren()">asksAllowsChildren</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Tells how leaf nodes are determined.</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#fireTreeNodesChanged(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])">fireTreeNodesChanged</A></B>(java.lang.Object&nbsp;source,
                     java.lang.Object[]&nbsp;path,
                     int[]&nbsp;childIndices,
                     java.lang.Object[]&nbsp;children)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#fireTreeNodesInserted(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])">fireTreeNodesInserted</A></B>(java.lang.Object&nbsp;source,
                      java.lang.Object[]&nbsp;path,
                      int[]&nbsp;childIndices,
                      java.lang.Object[]&nbsp;children)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#fireTreeNodesRemoved(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])">fireTreeNodesRemoved</A></B>(java.lang.Object&nbsp;source,
                     java.lang.Object[]&nbsp;path,
                     int[]&nbsp;childIndices,
                     java.lang.Object[]&nbsp;children)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" ID="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#fireTreeStructureChanged(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])">fireTreeStructureChanged</A></B>(java.lang.Object&nbsp;source,
                         java.lang.Object[]&nbsp;path,
                         int[]&nbsp;childIndices,
                         java.lang.Object[]&nbsp;children)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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/DefaultTreeModel.html#getChild(java.lang.Object, int)">getChild</A></B>(java.lang.Object&nbsp;parent,
         int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the child of <I>parent</I> at index <I>index</I> in the parent's
 child array.</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/DefaultTreeModel.html#getChildCount(java.lang.Object)">getChildCount</A></B>(java.lang.Object&nbsp;parent)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the number of children of <I>parent</I>.</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/DefaultTreeModel.html#getIndexOfChild(java.lang.Object, java.lang.Object)">getIndexOfChild</A></B>(java.lang.Object&nbsp;parent,
                java.lang.Object&nbsp;child)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the index of child in 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/DefaultTreeModel.html#getPathToRoot(javax.swing.tree.TreeNode)">getPathToRoot</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;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>protected &nbsp;<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeModel.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;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#getRoot()">getRoot</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the root of the tree.</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/DefaultTreeModel.html#insertNodeInto(javax.swing.tree.MutableTreeNode, javax.swing.tree.MutableTreeNode, int)">insertNodeInto</A></B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;newChild,
               <A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;parent,
               int&nbsp;index)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoked this to insert newChild at location index in parents 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/DefaultTreeModel.html#isLeaf(java.lang.Object)">isLeaf</A></B>(java.lang.Object&nbsp;node)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns whether the specified node is a leaf 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/DefaultTreeModel.html#nodeChanged(javax.swing.tree.TreeNode)">nodeChanged</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoke this method after you've changed how node is to be
 represented in the tree.</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/DefaultTreeModel.html#nodesChanged(javax.swing.tree.TreeNode, int[])">nodesChanged</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node,
             int[]&nbsp;childIndices)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoke this method after you've changed how the children identified by
 childIndicies are to be represented in the tree.</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/DefaultTreeModel.html#nodeStructureChanged(javax.swing.tree.TreeNode)">nodeStructureChanged</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoke this method if you've totally changed the children of
 node and its childrens 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/DefaultTreeModel.html#nodesWereInserted(javax.swing.tree.TreeNode, int[])">nodesWereInserted</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node,
                  int[]&nbsp;childIndices)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoke this method after you've inserted some TreeNodes into
 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/DefaultTreeModel.html#nodesWereRemoved(javax.swing.tree.TreeNode, int[], java.lang.Object[])">nodesWereRemoved</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node,
                 int[]&nbsp;childIndices,
                 java.lang.Object[]&nbsp;removedChildren)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoke this method after you've removed some TreeNodes from
 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/DefaultTreeModel.html#reload()">reload</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoke this method if you've modified the TreeNodes upon which this
 model depends.</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/DefaultTreeModel.html#reload(javax.swing.tree.TreeNode)">reload</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Invoke this method if you've modified the TreeNodes upon which this
 model depends.</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/DefaultTreeModel.html#removeNodeFromParent(javax.swing.tree.MutableTreeNode)">removeNodeFromParent</A></B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;node)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Message this to remove node from its 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/DefaultTreeModel.html#removeTreeModelListener(javax.swing.event.TreeModelListener)">removeTreeModelListener</A></B>(<A HREF="../../../javax/swing/event/TreeModelListener.html">TreeModelListener</A>&nbsp;l)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes a listener previously added with <B>addTreeModelListener()</B>.</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/DefaultTreeModel.html#setAsksAllowsChildren(boolean)">setAsksAllowsChildren</A></B>(boolean&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets whether or not to test leafness by asking getAllowsChildren()
 or isLeaf() to the TreeNodes.</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/DefaultTreeModel.html#setRoot(javax.swing.tree.TreeNode)">setRoot</A></B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;root)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the root to <code>root</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/DefaultTreeModel.html#valueForPathChanged(javax.swing.tree.TreePath, java.lang.Object)">valueForPathChanged</A></B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path,
                    java.lang.Object&nbsp;newValue)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This sets the user object of the TreeNode identified by path
 and posts a node changed.</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="root"><!-- --></A><H3>
root</H3>
<PRE>
protected <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A> <B>root</B></PRE>
<DL>
<DD>Root of the tree.</DL>
<HR>

<A NAME="listenerList"><!-- --></A><H3>
listenerList</H3>
<PRE>
protected <A HREF="../../../javax/swing/event/EventListenerList.html">EventListenerList</A> <B>listenerList</B></PRE>
<DL>
<DD>Listeners.</DL>
<HR>

<A NAME="asksAllowsChildren"><!-- --></A><H3>
asksAllowsChildren</H3>
<PRE>
protected boolean <B>asksAllowsChildren</B></PRE>
<DL>
<DD>Determines how the <code>isLeaf</code> method figures
 out if a node is a leaf node. If true, a node is a leaf 
 node if it does not allow children. (If it allows 
 children, it is not a leaf node, even if no children
 are present.) That lets you distinguish between <i>folder</i>
 nodes and <i>file</i> nodes in a file system, for example.
 <p>
 If this value is false, then any node which has no 
 children is a leaf node, and any node may acquire 
 children.<DD><DL>
<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/TreeNode.html#getAllowsChildren()"><CODE>TreeNode.getAllowsChildren()</CODE></A>, 
<A HREF="../../../javax/swing/tree/TreeModel.html#isLeaf(java.lang.Object)"><CODE>TreeModel.isLeaf(java.lang.Object)</CODE></A>, 
<A HREF="../../../javax/swing/tree/DefaultTreeModel.html#setAsksAllowsChildren(boolean)"><CODE>setAsksAllowsChildren(boolean)</CODE></A></DL>
</DD>
</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="DefaultTreeModel(javax.swing.tree.TreeNode)"><!-- --></A><H3>
DefaultTreeModel</H3>
<PRE>
public <B>DefaultTreeModel</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;root)</PRE>
<DL>
<DD>Creates a tree in which any node can have children.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>root</CODE> - a TreeNode object that is the root of the tree<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#DefaultTreeModel(javax.swing.tree.TreeNode, boolean)"><CODE>DefaultTreeModel(TreeNode, boolean)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="DefaultTreeModel(javax.swing.tree.TreeNode, boolean)"><!-- --></A><H3>
DefaultTreeModel</H3>
<PRE>
public <B>DefaultTreeModel</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;root,
                        boolean&nbsp;asksAllowsChildren)</PRE>
<DL>
<DD>Creates a tree specifying whether any node can have children,
 or whether only certain nodes can have children.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>root</CODE> - a TreeNode object that is the root of the tree<DD><CODE>askAllowsChildren</CODE> - a boolean, false if any node can
        have children, true if each node is asked to see if
        it can have children<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#asksAllowsChildren"><CODE>asksAllowsChildren</CODE></A></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="setAsksAllowsChildren(boolean)"><!-- --></A><H3>
setAsksAllowsChildren</H3>
<PRE>
public void <B>setAsksAllowsChildren</B>(boolean&nbsp;newValue)</PRE>
<DL>
<DD>Sets whether or not to test leafness by asking getAllowsChildren()
 or isLeaf() to the TreeNodes.  If newvalue is true, getAllowsChildren()
 is messaged, otherwise isLeaf() is messaged.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="asksAllowsChildren()"><!-- --></A><H3>
asksAllowsChildren</H3>
<PRE>
public boolean <B>asksAllowsChildren</B>()</PRE>
<DL>
<DD>Tells how leaf nodes are determined.<DD><DL>
<DT><B>Returns:</B><DD>true if only nodes which do not allow children are
         leaf nodes, false if nodes which have no children
         (even if allowed) are leaf nodes<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#asksAllowsChildren"><CODE>asksAllowsChildren</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="setRoot(javax.swing.tree.TreeNode)"><!-- --></A><H3>
setRoot</H3>
<PRE>
public void <B>setRoot</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;root)</PRE>
<DL>
<DD>Sets the root to <code>root</code>. This will throw an
 IllegalArgumentException if <code>root</code> is null.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getRoot()"><!-- --></A><H3>
getRoot</H3>
<PRE>
public java.lang.Object <B>getRoot</B>()</PRE>
<DL>
<DD>Returns the root of the tree.  Returns null only if the tree has
 no nodes.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeModel.html#getRoot()">getRoot</A> in interface <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A><DT><B>Returns:</B><DD>the root of the tree</DL>
</DD>
</DL>
<HR>

<A NAME="getIndexOfChild(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
getIndexOfChild</H3>
<PRE>
public int <B>getIndexOfChild</B>(java.lang.Object&nbsp;parent,
                           java.lang.Object&nbsp;child)</PRE>
<DL>
<DD>Returns the index of child in parent.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeModel.html#getIndexOfChild(java.lang.Object, java.lang.Object)">getIndexOfChild</A> in interface <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="getChild(java.lang.Object, int)"><!-- --></A><H3>
getChild</H3>
<PRE>
public java.lang.Object <B>getChild</B>(java.lang.Object&nbsp;parent,
                                 int&nbsp;index)</PRE>
<DL>
<DD>Returns the child of <I>parent</I> at index <I>index</I> in the parent's
 child array.  <I>parent</I> must be a node previously obtained from
 this data source. This should not return null if <i>index</i>
 is a valid index for <i>parent</i> (that is <i>index</i> >= 0 &&
 <i>index</i> < getChildCount(<i>parent</i>)).<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeModel.html#getChild(java.lang.Object, int)">getChild</A> in interface <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A><DT><B>Parameters:</B><DD><CODE>parent</CODE> - a node in the tree, obtained from this data source<DT><B>Returns:</B><DD>the child of <I>parent</I> at index <I>index</I></DL>
</DD>
</DL>
<HR>

<A NAME="getChildCount(java.lang.Object)"><!-- --></A><H3>
getChildCount</H3>
<PRE>
public int <B>getChildCount</B>(java.lang.Object&nbsp;parent)</PRE>
<DL>
<DD>Returns the number of children of <I>parent</I>.  Returns 0 if the node
 is a leaf or if it has no children.  <I>parent</I> must be a node
 previously obtained from this data source.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeModel.html#getChildCount(java.lang.Object)">getChildCount</A> in interface <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A><DT><B>Parameters:</B><DD><CODE>parent</CODE> - a node in the tree, obtained from this data source<DT><B>Returns:</B><DD>the number of children of the node <I>parent</I></DL>
</DD>
</DL>
<HR>

<A NAME="isLeaf(java.lang.Object)"><!-- --></A><H3>
isLeaf</H3>
<PRE>
public boolean <B>isLeaf</B>(java.lang.Object&nbsp;node)</PRE>
<DL>
<DD>Returns whether the specified node is a leaf node.
 The way the test is performed depends on the
 <code>askAllowsChildren</code> setting.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeModel.html#isLeaf(java.lang.Object)">isLeaf</A> in interface <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A><DT><B>Parameters:</B><DD><CODE>node</CODE> - the node to check<DT><B>Returns:</B><DD>true if the node is a leaf node<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#asksAllowsChildren"><CODE>asksAllowsChildren</CODE></A>, 
<A HREF="../../../javax/swing/tree/TreeModel.html#isLeaf(java.lang.Object)"><CODE>TreeModel.isLeaf(java.lang.Object)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="reload()"><!-- --></A><H3>
reload</H3>
<PRE>
public void <B>reload</B>()</PRE>
<DL>
<DD>Invoke this method if you've modified the TreeNodes upon which this
 model depends.  The model will notify all of its listeners that the
 model has changed.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="valueForPathChanged(javax.swing.tree.TreePath, java.lang.Object)"><!-- --></A><H3>
valueForPathChanged</H3>
<PRE>
public void <B>valueForPathChanged</B>(<A HREF="../../../javax/swing/tree/TreePath.html">TreePath</A>&nbsp;path,
                                java.lang.Object&nbsp;newValue)</PRE>
<DL>
<DD>This sets the user object of the TreeNode identified by path
 and posts a node changed.  If you use custom user objects in
 the TreeModel you're going to need to subclass this and
 set the user object of the changed node to something meaningful.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeModel.html#valueForPathChanged(javax.swing.tree.TreePath, java.lang.Object)">valueForPathChanged</A> in interface <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A></DL>
</DD>
</DL>
<HR>

<A NAME="insertNodeInto(javax.swing.tree.MutableTreeNode, javax.swing.tree.MutableTreeNode, int)"><!-- --></A><H3>
insertNodeInto</H3>
<PRE>
public void <B>insertNodeInto</B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;newChild,
                           <A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;parent,
                           int&nbsp;index)</PRE>
<DL>
<DD>Invoked this to insert newChild at location index in parents children.
 This will then message nodesWereInserted to create the appropriate
 event. This is the preferred way to add children as it will create
 the appropriate event.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="removeNodeFromParent(javax.swing.tree.MutableTreeNode)"><!-- --></A><H3>
removeNodeFromParent</H3>
<PRE>
public void <B>removeNodeFromParent</B>(<A HREF="../../../javax/swing/tree/MutableTreeNode.html">MutableTreeNode</A>&nbsp;node)</PRE>
<DL>
<DD>Message this to remove node from its parent. This will message
 nodesWereRemoved to create the appropriate event. This is the
 preferred way to remove a node as it handles the event creation
 for you.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="nodeChanged(javax.swing.tree.TreeNode)"><!-- --></A><H3>
nodeChanged</H3>
<PRE>
public void <B>nodeChanged</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node)</PRE>
<DL>
<DD>Invoke this method after you've changed how node is to be
 represented in the tree.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="reload(javax.swing.tree.TreeNode)"><!-- --></A><H3>
reload</H3>
<PRE>
public void <B>reload</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node)</PRE>
<DL>
<DD>Invoke this method if you've modified the TreeNodes upon which this
 model depends.  The model will notify all of its listeners that the
 model has changed below the node <code>node</code> (PENDING).<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="nodesWereInserted(javax.swing.tree.TreeNode, int[])"><!-- --></A><H3>
nodesWereInserted</H3>
<PRE>
public void <B>nodesWereInserted</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node,
                              int[]&nbsp;childIndices)</PRE>
<DL>
<DD>Invoke this method after you've inserted some TreeNodes into
 node.  childIndices should be the index of the new elements and
 must be sorted in ascending order.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="nodesWereRemoved(javax.swing.tree.TreeNode, int[], java.lang.Object[])"><!-- --></A><H3>
nodesWereRemoved</H3>
<PRE>
public void <B>nodesWereRemoved</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node,
                             int[]&nbsp;childIndices,
                             java.lang.Object[]&nbsp;removedChildren)</PRE>
<DL>
<DD>Invoke this method after you've removed some TreeNodes from
 node.  childIndices should be the index of the removed elements and
 must be sorted in ascending order. And removedChildren should be
 the array of the children objects that were removed.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="nodesChanged(javax.swing.tree.TreeNode, int[])"><!-- --></A><H3>
nodesChanged</H3>
<PRE>
public void <B>nodesChanged</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node,
                         int[]&nbsp;childIndices)</PRE>
<DL>
<DD>Invoke this method after you've changed how the children identified by
 childIndicies are to be represented in the tree.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="nodeStructureChanged(javax.swing.tree.TreeNode)"><!-- --></A><H3>
nodeStructureChanged</H3>
<PRE>
public void <B>nodeStructureChanged</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;node)</PRE>
<DL>
<DD>Invoke this method if you've totally changed the children of
 node and its childrens children...  This will post a
 treeStructureChanged event.<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="getPathToRoot(javax.swing.tree.TreeNode)"><!-- --></A><H3>
getPathToRoot</H3>
<PRE>
public <A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>[] <B>getPathToRoot</B>(<A HREF="../../../javax/swing/tree/TreeNode.html">TreeNode</A>&nbsp;aNode)</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>an</CODE> - array of TreeNodes giving the path from the root to the
        specified 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="addTreeModelListener(javax.swing.event.TreeModelListener)"><!-- --></A><H3>
addTreeModelListener</H3>
<PRE>
public void <B>addTreeModelListener</B>(<A HREF="../../../javax/swing/event/TreeModelListener.html">TreeModelListener</A>&nbsp;l)</PRE>
<DL>
<DD>Adds a listener for the TreeModelEvent posted after the tree changes.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeModel.html#addTreeModelListener(javax.swing.event.TreeModelListener)">addTreeModelListener</A> in interface <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A><DT><B>Parameters:</B><DD><CODE>l</CODE> - the listener to add<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#removeTreeModelListener(javax.swing.event.TreeModelListener)"><CODE>removeTreeModelListener(javax.swing.event.TreeModelListener)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="removeTreeModelListener(javax.swing.event.TreeModelListener)"><!-- --></A><H3>
removeTreeModelListener</H3>
<PRE>
public void <B>removeTreeModelListener</B>(<A HREF="../../../javax/swing/event/TreeModelListener.html">TreeModelListener</A>&nbsp;l)</PRE>
<DL>
<DD>Removes a listener previously added with <B>addTreeModelListener()</B>.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../javax/swing/tree/TreeModel.html#removeTreeModelListener(javax.swing.event.TreeModelListener)">removeTreeModelListener</A> in interface <A HREF="../../../javax/swing/tree/TreeModel.html">TreeModel</A><DT><B>Parameters:</B><DD><CODE>l</CODE> - the listener to remove<DT><B>See Also: </B><DD><A HREF="../../../javax/swing/tree/DefaultTreeModel.html#addTreeModelListener(javax.swing.event.TreeModelListener)"><CODE>addTreeModelListener(javax.swing.event.TreeModelListener)</CODE></A></DL>
</DD>
</DL>
<HR>

<A NAME="fireTreeNodesChanged(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])"><!-- --></A><H3>
fireTreeNodesChanged</H3>
<PRE>
protected void <B>fireTreeNodesChanged</B>(java.lang.Object&nbsp;source,
                                    java.lang.Object[]&nbsp;path,
                                    int[]&nbsp;childIndices,
                                    java.lang.Object[]&nbsp;children)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fireTreeNodesInserted(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])"><!-- --></A><H3>
fireTreeNodesInserted</H3>
<PRE>
protected void <B>fireTreeNodesInserted</B>(java.lang.Object&nbsp;source,
                                     java.lang.Object[]&nbsp;path,
                                     int[]&nbsp;childIndices,
                                     java.lang.Object[]&nbsp;children)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fireTreeNodesRemoved(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])"><!-- --></A><H3>
fireTreeNodesRemoved</H3>
<PRE>
protected void <B>fireTreeNodesRemoved</B>(java.lang.Object&nbsp;source,
                                    java.lang.Object[]&nbsp;path,
                                    int[]&nbsp;childIndices,
                                    java.lang.Object[]&nbsp;children)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="fireTreeStructureChanged(java.lang.Object, java.lang.Object[], int[], java.lang.Object[])"><!-- --></A><H3>
fireTreeStructureChanged</H3>
<PRE>
protected void <B>fireTreeStructureChanged</B>(java.lang.Object&nbsp;source,
                                        java.lang.Object[]&nbsp;path,
                                        int[]&nbsp;childIndices,
                                        java.lang.Object[]&nbsp;children)</PRE>
<DL>
<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/DefaultTreeModel.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/DefaultTreeCellRenderer.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../javax/swing/tree/DefaultTreeSelectionModel.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="DefaultTreeModel.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>
