javax.swing.tree
Class DefaultMutableTreeNode

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by javax.swing.tree.DefaultMutableTreeNode
All Implemented Interfaces:
Serializable sample code for java.io.Serializable definition code for java.io.Serializable , Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable , MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode , TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode
Direct Known Subclasses:
JTree.DynamicUtilTreeNode sample code for javax.swing.JTree.DynamicUtilTreeNode definition code for javax.swing.JTree.DynamicUtilTreeNode

public class DefaultMutableTreeNode
extends Object sample code for java.lang.Object definition code for java.lang.Object
implements Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable , MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode , Serializable sample code for java.io.Serializable definition code for java.io.Serializable

A DefaultMutableTreeNode is a general-purpose node in a tree data structure. For examples of using default mutable tree nodes, see How to Use Trees in The Java Tutorial.

A tree node may have at most one parent and 0 or more children. DefaultMutableTreeNode 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.

This class provides enumerations for efficiently traversing a tree or subtree in various orders or for following the path between two nodes. A DefaultMutableTreeNode may also hold a reference to a user object, the use of which is left to the user. Asking a DefaultMutableTreeNode for its string representation with toString() returns the string representation of its user object.

This is not a thread safe class.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.

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.

Warning: 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. As of 1.4, support for long term storage of all JavaBeansTM has been added to the java.beans package. Please see XMLEncoder sample code for java.beans.XMLEncoder definition code for java.beans.XMLEncoder .

See Also:
MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode , Serialized Form

Field Summary
protected  boolean allowsChildren sample code for javax.swing.tree.DefaultMutableTreeNode.allowsChildren definition code for javax.swing.tree.DefaultMutableTreeNode.allowsChildren
          true if the node is able to have children
protected  Vector sample code for java.util.Vector definition code for java.util.Vector children sample code for javax.swing.tree.DefaultMutableTreeNode.children definition code for javax.swing.tree.DefaultMutableTreeNode.children
          array of children, may be null if this node has no children
static Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration <TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode > EMPTY_ENUMERATION sample code for javax.swing.tree.DefaultMutableTreeNode.EMPTY_ENUMERATION definition code for javax.swing.tree.DefaultMutableTreeNode.EMPTY_ENUMERATION
          An enumeration that is always empty.
protected  MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode parent sample code for javax.swing.tree.DefaultMutableTreeNode.parent definition code for javax.swing.tree.DefaultMutableTreeNode.parent
          this node's parent, or null if this node has no parent
protected  Object sample code for java.lang.Object definition code for java.lang.Object userObject sample code for javax.swing.tree.DefaultMutableTreeNode.userObject definition code for javax.swing.tree.DefaultMutableTreeNode.userObject
          optional user object
 
Constructor Summary
DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode.DefaultMutableTreeNode() definition code for javax.swing.tree.DefaultMutableTreeNode.DefaultMutableTreeNode() ()
          Creates a tree node that has no parent and no children, but which allows children.
DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode.DefaultMutableTreeNode(java.lang.Object) definition code for javax.swing.tree.DefaultMutableTreeNode.DefaultMutableTreeNode(java.lang.Object) (Object sample code for java.lang.Object definition code for java.lang.Object  userObject)
          Creates a tree node with no parent, no children, but which allows children, and initializes it with the specified user object.
DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode.DefaultMutableTreeNode(java.lang.Object, boolean) definition code for javax.swing.tree.DefaultMutableTreeNode.DefaultMutableTreeNode(java.lang.Object, boolean) (Object sample code for java.lang.Object definition code for java.lang.Object  userObject, boolean allowsChildren)
          Creates a tree node with no parent, no children, initialized with the specified user object, and that allows children only if specified.
 
Method Summary
 void add sample code for javax.swing.tree.DefaultMutableTreeNode.add(javax.swing.tree.MutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.add(javax.swing.tree.MutableTreeNode) (MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode  newChild)
          Removes newChild from its parent and makes it a child of this node by adding it to the end of this node's child array.
 Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration breadthFirstEnumeration sample code for javax.swing.tree.DefaultMutableTreeNode.breadthFirstEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.breadthFirstEnumeration() ()
          Creates and returns an enumeration that traverses the subtree rooted at this node in breadth-first order.
 Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration children sample code for javax.swing.tree.DefaultMutableTreeNode.children() definition code for javax.swing.tree.DefaultMutableTreeNode.children() ()
          Creates and returns a forward-order enumeration of this node's children.
 Object sample code for java.lang.Object definition code for java.lang.Object clone sample code for javax.swing.tree.DefaultMutableTreeNode.clone() definition code for javax.swing.tree.DefaultMutableTreeNode.clone() ()
          Overridden to make clone public.
 Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration depthFirstEnumeration sample code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration() ()
          Creates and returns an enumeration that traverses the subtree rooted at this node in depth-first order.
 boolean getAllowsChildren sample code for javax.swing.tree.DefaultMutableTreeNode.getAllowsChildren() definition code for javax.swing.tree.DefaultMutableTreeNode.getAllowsChildren() ()
          Returns true if this node is allowed to have children.
 TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode getChildAfter sample code for javax.swing.tree.DefaultMutableTreeNode.getChildAfter(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getChildAfter(javax.swing.tree.TreeNode) (TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  aChild)
          Returns the child in this node's child array that immediately follows aChild, which must be a child of this node.
 TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode getChildAt sample code for javax.swing.tree.DefaultMutableTreeNode.getChildAt(int) definition code for javax.swing.tree.DefaultMutableTreeNode.getChildAt(int) (int index)
          Returns the child at the specified index in this node's child array.
 TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode getChildBefore sample code for javax.swing.tree.DefaultMutableTreeNode.getChildBefore(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getChildBefore(javax.swing.tree.TreeNode) (TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  aChild)
          Returns the child in this node's child array that immediately precedes aChild, which must be a child of this node.
 int getChildCount sample code for javax.swing.tree.DefaultMutableTreeNode.getChildCount() definition code for javax.swing.tree.DefaultMutableTreeNode.getChildCount() ()
          Returns the number of children of this node.
 int getDepth sample code for javax.swing.tree.DefaultMutableTreeNode.getDepth() definition code for javax.swing.tree.DefaultMutableTreeNode.getDepth() ()
          Returns the depth of the tree rooted at this node -- the longest distance from this node to a leaf.
 TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode getFirstChild sample code for javax.swing.tree.DefaultMutableTreeNode.getFirstChild() definition code for javax.swing.tree.DefaultMutableTreeNode.getFirstChild() ()
          Returns this node's first child.
 DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode getFirstLeaf sample code for javax.swing.tree.DefaultMutableTreeNode.getFirstLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.getFirstLeaf() ()
          Finds and returns the first leaf that is a descendant of this node -- either this node or its first child's first leaf.
 int getIndex sample code for javax.swing.tree.DefaultMutableTreeNode.getIndex(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getIndex(javax.swing.tree.TreeNode) (TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  aChild)
          Returns the index of the specified child in this node's child array.
 TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode getLastChild sample code for javax.swing.tree.DefaultMutableTreeNode.getLastChild() definition code for javax.swing.tree.DefaultMutableTreeNode.getLastChild() ()
          Returns this node's last child.
 DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode getLastLeaf sample code for javax.swing.tree.DefaultMutableTreeNode.getLastLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.getLastLeaf() ()
          Finds and returns the last leaf that is a descendant of this node -- either this node or its last child's last leaf.
 int getLeafCount sample code for javax.swing.tree.DefaultMutableTreeNode.getLeafCount() definition code for javax.swing.tree.DefaultMutableTreeNode.getLeafCount() ()
          Returns the total number of leaves that are descendants of this node.
 int getLevel sample code for javax.swing.tree.DefaultMutableTreeNode.getLevel() definition code for javax.swing.tree.DefaultMutableTreeNode.getLevel() ()
          Returns the number of levels above this node -- the distance from the root to this node.
 DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode getNextLeaf sample code for javax.swing.tree.DefaultMutableTreeNode.getNextLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.getNextLeaf() ()
          Returns the leaf after this node or null if this node is the last leaf in the tree.
 DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode getNextNode sample code for javax.swing.tree.DefaultMutableTreeNode.getNextNode() definition code for javax.swing.tree.DefaultMutableTreeNode.getNextNode() ()
          Returns the node that follows this node in a preorder traversal of this node's tree.
 DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode getNextSibling sample code for javax.swing.tree.DefaultMutableTreeNode.getNextSibling() definition code for javax.swing.tree.DefaultMutableTreeNode.getNextSibling() ()
          Returns the next sibling of this node in the parent's children array.
 TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode getParent sample code for javax.swing.tree.DefaultMutableTreeNode.getParent() definition code for javax.swing.tree.DefaultMutableTreeNode.getParent() ()
          Returns this node's parent or null if this node has no parent.
 TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode [] getPath sample code for javax.swing.tree.DefaultMutableTreeNode.getPath() definition code for javax.swing.tree.DefaultMutableTreeNode.getPath() ()
          Returns the path from the root, to get to this node.
protected  TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode [] getPathToRoot sample code for javax.swing.tree.DefaultMutableTreeNode.getPathToRoot(javax.swing.tree.TreeNode, int) definition code for javax.swing.tree.DefaultMutableTreeNode.getPathToRoot(javax.swing.tree.TreeNode, int) (TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  aNode, int depth)
          Builds the parents of node up to and including the root node, where the original node is the last element in the returned array.
 DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode getPreviousLeaf sample code for javax.swing.tree.DefaultMutableTreeNode.getPreviousLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.getPreviousLeaf() ()
          Returns the leaf before this node or null if this node is the first leaf in the tree.
 DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode getPreviousNode sample code for javax.swing.tree.DefaultMutableTreeNode.getPreviousNode() definition code for javax.swing.tree.DefaultMutableTreeNode.getPreviousNode() ()
          Returns the node that precedes this node in a preorder traversal of this node's tree.
 DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode getPreviousSibling sample code for javax.swing.tree.DefaultMutableTreeNode.getPreviousSibling() definition code for javax.swing.tree.DefaultMutableTreeNode.getPreviousSibling() ()
          Returns the previous sibling of this node in the parent's children array.
 TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode getRoot sample code for javax.swing.tree.DefaultMutableTreeNode.getRoot() definition code for javax.swing.tree.DefaultMutableTreeNode.getRoot() ()
          Returns the root of the tree that contains this node.
 TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode getSharedAncestor sample code for javax.swing.tree.DefaultMutableTreeNode.getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode) (DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  aNode)
          Returns the nearest common ancestor to this node and aNode.
 int getSiblingCount sample code for javax.swing.tree.DefaultMutableTreeNode.getSiblingCount() definition code for javax.swing.tree.DefaultMutableTreeNode.getSiblingCount() ()
          Returns the number of siblings of this node.
 Object sample code for java.lang.Object definition code for java.lang.Object getUserObject sample code for javax.swing.tree.DefaultMutableTreeNode.getUserObject() definition code for javax.swing.tree.DefaultMutableTreeNode.getUserObject() ()
          Returns this node's user object.
 Object sample code for java.lang.Object definition code for java.lang.Object [] getUserObjectPath sample code for javax.swing.tree.DefaultMutableTreeNode.getUserObjectPath() definition code for javax.swing.tree.DefaultMutableTreeNode.getUserObjectPath() ()
          Returns the user object path, from the root, to get to this node.
 void insert sample code for javax.swing.tree.DefaultMutableTreeNode.insert(javax.swing.tree.MutableTreeNode, int) definition code for javax.swing.tree.DefaultMutableTreeNode.insert(javax.swing.tree.MutableTreeNode, int) (MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode  newChild, int childIndex)
          Removes newChild 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 childIndex.
 boolean isLeaf sample code for javax.swing.tree.DefaultMutableTreeNode.isLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.isLeaf() ()
          Returns true if this node has no children.
 boolean isNodeAncestor sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) (TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  anotherNode)
          Returns true if anotherNode is an ancestor of this node -- if it is this node, this node's parent, or an ancestor of this node's parent.
 boolean isNodeChild sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeChild(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeChild(javax.swing.tree.TreeNode) (TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  aNode)
          Returns true if aNode is a child of this node.
 boolean isNodeDescendant sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) (DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  anotherNode)
          Returns true if anotherNode 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.
 boolean isNodeRelated sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeRelated(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeRelated(javax.swing.tree.DefaultMutableTreeNode) (DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  aNode)
          Returns true if and only if aNode is in the same tree as this node.
 boolean isNodeSibling sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeSibling(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeSibling(javax.swing.tree.TreeNode) (TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  anotherNode)
          Returns true if anotherNode is a sibling of (has the same parent as) this node.
 boolean isRoot sample code for javax.swing.tree.DefaultMutableTreeNode.isRoot() definition code for javax.swing.tree.DefaultMutableTreeNode.isRoot() ()
          Returns true if this node is the root of the tree.
 Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration pathFromAncestorEnumeration sample code for javax.swing.tree.DefaultMutableTreeNode.pathFromAncestorEnumeration(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.pathFromAncestorEnumeration(javax.swing.tree.TreeNode) (TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  ancestor)
          Creates and returns an enumeration that follows the path from ancestor to this node.
 Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration postorderEnumeration sample code for javax.swing.tree.DefaultMutableTreeNode.postorderEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.postorderEnumeration() ()
          Creates and returns an enumeration that traverses the subtree rooted at this node in postorder.
 Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration preorderEnumeration sample code for javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration() ()
          Creates and returns an enumeration that traverses the subtree rooted at this node in preorder.
 void remove sample code for javax.swing.tree.DefaultMutableTreeNode.remove(int) definition code for javax.swing.tree.DefaultMutableTreeNode.remove(int) (int childIndex)
          Removes the child at the specified index from this node's children and sets that node's parent to null.
 void remove sample code for javax.swing.tree.DefaultMutableTreeNode.remove(javax.swing.tree.MutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.remove(javax.swing.tree.MutableTreeNode) (MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode  aChild)
          Removes aChild from this node's child array, giving it a null parent.
 void removeAllChildren sample code for javax.swing.tree.DefaultMutableTreeNode.removeAllChildren() definition code for javax.swing.tree.DefaultMutableTreeNode.removeAllChildren() ()
          Removes all of this node's children, setting their parents to null.
 void removeFromParent sample code for javax.swing.tree.DefaultMutableTreeNode.removeFromParent() definition code for javax.swing.tree.DefaultMutableTreeNode.removeFromParent() ()
          Removes the subtree rooted at this node from the tree, giving this node a null parent.
 void setAllowsChildren sample code for javax.swing.tree.DefaultMutableTreeNode.setAllowsChildren(boolean) definition code for javax.swing.tree.DefaultMutableTreeNode.setAllowsChildren(boolean) (boolean allows)
          Determines whether or not this node is allowed to have children.
 void setParent sample code for javax.swing.tree.DefaultMutableTreeNode.setParent(javax.swing.tree.MutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.setParent(javax.swing.tree.MutableTreeNode) (MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode  newParent)
          Sets this node's parent to newParent but does not change the parent's child array.
 void setUserObject sample code for javax.swing.tree.DefaultMutableTreeNode.setUserObject(java.lang.Object) definition code for javax.swing.tree.DefaultMutableTreeNode.setUserObject(java.lang.Object) (Object sample code for java.lang.Object definition code for java.lang.Object  userObject)
          Sets the user object for this node to userObject.
 String sample code for java.lang.String definition code for java.lang.String toString sample code for javax.swing.tree.DefaultMutableTreeNode.toString() definition code for javax.swing.tree.DefaultMutableTreeNode.toString() ()
          Returns the result of sending toString() to this node's user object, or null if this node has no user object.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Field Detail

EMPTY_ENUMERATION sample code for javax.swing.tree.DefaultMutableTreeNode.EMPTY_ENUMERATION

public static final Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration <TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode > EMPTY_ENUMERATION
An enumeration that is always empty. This is used when an enumeration of a leaf node's children is requested.


parent sample code for javax.swing.tree.DefaultMutableTreeNode.parent

protected MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode  parent
this node's parent, or null if this node has no parent


children sample code for javax.swing.tree.DefaultMutableTreeNode.children

protected Vector sample code for java.util.Vector definition code for java.util.Vector  children
array of children, may be null if this node has no children


userObject sample code for javax.swing.tree.DefaultMutableTreeNode.userObject

protected transient Object sample code for java.lang.Object definition code for java.lang.Object  userObject
optional user object


allowsChildren sample code for javax.swing.tree.DefaultMutableTreeNode.allowsChildren

protected boolean allowsChildren
true if the node is able to have children

Constructor Detail

DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode() definition code for javax.swing.tree.DefaultMutableTreeNode()

public DefaultMutableTreeNode()
Creates a tree node that has no parent and no children, but which allows children.


DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode(java.lang.Object) definition code for javax.swing.tree.DefaultMutableTreeNode(java.lang.Object)

public DefaultMutableTreeNode(Object sample code for java.lang.Object definition code for java.lang.Object  userObject)
Creates a tree node with no parent, no children, but which allows children, and initializes it with the specified user object.

Parameters:
userObject - an Object provided by the user that constitutes the node's data

DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode(java.lang.Object, boolean) definition code for javax.swing.tree.DefaultMutableTreeNode(java.lang.Object, boolean)

public DefaultMutableTreeNode(Object sample code for java.lang.Object definition code for java.lang.Object  userObject,
                              boolean allowsChildren)
Creates a tree node with no parent, no children, initialized with the specified user object, and that allows children only if specified.

Parameters:
userObject - an Object provided by the user that constitutes the node's data
allowsChildren - if true, the node is allowed to have child nodes -- otherwise, it is always a leaf node
Method Detail

insert sample code for javax.swing.tree.DefaultMutableTreeNode.insert(javax.swing.tree.MutableTreeNode, int) definition code for javax.swing.tree.DefaultMutableTreeNode.insert(javax.swing.tree.MutableTreeNode, int)

public void insert(MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode  newChild,
                   int childIndex)
Removes newChild 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 childIndex. newChild must not be null and must not be an ancestor of this node.

Specified by:
insert sample code for javax.swing.tree.MutableTreeNode.insert(javax.swing.tree.MutableTreeNode, int) definition code for javax.swing.tree.MutableTreeNode.insert(javax.swing.tree.MutableTreeNode, int) in interface MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode
Parameters:
newChild - the MutableTreeNode to insert under this node
childIndex - the index in this node's child array where this node is to be inserted
Throws:
ArrayIndexOutOfBoundsException sample code for java.lang.ArrayIndexOutOfBoundsException definition code for java.lang.ArrayIndexOutOfBoundsException - if childIndex is out of bounds
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if newChild is null or is an ancestor of this node
IllegalStateException sample code for java.lang.IllegalStateException definition code for java.lang.IllegalStateException - if this node does not allow children
See Also:
isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

remove sample code for javax.swing.tree.DefaultMutableTreeNode.remove(int) definition code for javax.swing.tree.DefaultMutableTreeNode.remove(int)

public void remove(int childIndex)
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 MutableTreeNode.

Specified by:
remove sample code for javax.swing.tree.MutableTreeNode.remove(int) definition code for javax.swing.tree.MutableTreeNode.remove(int) in interface MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode
Parameters:
childIndex - the index in this node's child array of the child to remove
Throws:
ArrayIndexOutOfBoundsException sample code for java.lang.ArrayIndexOutOfBoundsException definition code for java.lang.ArrayIndexOutOfBoundsException - if childIndex is out of bounds

setParent sample code for javax.swing.tree.DefaultMutableTreeNode.setParent(javax.swing.tree.MutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.setParent(javax.swing.tree.MutableTreeNode)

public void setParent(MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode  newParent)
Sets this node's parent to newParent but does not change the parent's child array. This method is called from insert() and remove() to reassign a child's parent, it should not be messaged from anywhere else.

Specified by:
setParent sample code for javax.swing.tree.MutableTreeNode.setParent(javax.swing.tree.MutableTreeNode) definition code for javax.swing.tree.MutableTreeNode.setParent(javax.swing.tree.MutableTreeNode) in interface MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode
Parameters:
newParent - this node's new parent

getParent sample code for javax.swing.tree.DefaultMutableTreeNode.getParent() definition code for javax.swing.tree.DefaultMutableTreeNode.getParent()

public TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  getParent()
Returns this node's parent or null if this node has no parent.

Specified by:
getParent sample code for javax.swing.tree.TreeNode.getParent() definition code for javax.swing.tree.TreeNode.getParent() in interface TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode
Returns:
this node's parent TreeNode, or null if this node has no parent

getChildAt sample code for javax.swing.tree.DefaultMutableTreeNode.getChildAt(int) definition code for javax.swing.tree.DefaultMutableTreeNode.getChildAt(int)

public TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  getChildAt(int index)
Returns the child at the specified index in this node's child array.

Specified by:
getChildAt sample code for javax.swing.tree.TreeNode.getChildAt(int) definition code for javax.swing.tree.TreeNode.getChildAt(int) in interface TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode
Parameters:
index - an index into this node's child array
Returns:
the TreeNode in this node's child array at the specified index
Throws:
ArrayIndexOutOfBoundsException sample code for java.lang.ArrayIndexOutOfBoundsException definition code for java.lang.ArrayIndexOutOfBoundsException - if index is out of bounds

getChildCount sample code for javax.swing.tree.DefaultMutableTreeNode.getChildCount() definition code for javax.swing.tree.DefaultMutableTreeNode.getChildCount()

public int getChildCount()
Returns the number of children of this node.

Specified by:
getChildCount sample code for javax.swing.tree.TreeNode.getChildCount() definition code for javax.swing.tree.TreeNode.getChildCount() in interface TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode
Returns:
an int giving the number of children of this node

getIndex sample code for javax.swing.tree.DefaultMutableTreeNode.getIndex(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getIndex(javax.swing.tree.TreeNode)

public int getIndex(TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  aChild)
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 -1. This method performs a linear search and is O(n) where n is the number of children.

Specified by:
getIndex sample code for javax.swing.tree.TreeNode.getIndex(javax.swing.tree.TreeNode) definition code for javax.swing.tree.TreeNode.getIndex(javax.swing.tree.TreeNode) in interface TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode
Parameters:
aChild - the TreeNode to search for among this node's children
Returns:
an int giving the index of the node in this node's child array, or -1 if the specified node is a not a child of this node
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if aChild is null

children sample code for javax.swing.tree.DefaultMutableTreeNode.children() definition code for javax.swing.tree.DefaultMutableTreeNode.children()

public Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration  children()
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.

Specified by:
children sample code for javax.swing.tree.TreeNode.children() definition code for javax.swing.tree.TreeNode.children() in interface TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode
Returns:
an Enumeration of this node's children

setAllowsChildren sample code for javax.swing.tree.DefaultMutableTreeNode.setAllowsChildren(boolean) definition code for javax.swing.tree.DefaultMutableTreeNode.setAllowsChildren(boolean)

public void setAllowsChildren(boolean allows)
Determines whether or not this node is allowed to have children. If allows is false, all of this node's children are removed.

Note: By default, a node allows children.

Parameters:
allows - true if this node is allowed to have children

getAllowsChildren sample code for javax.swing.tree.DefaultMutableTreeNode.getAllowsChildren() definition code for javax.swing.tree.DefaultMutableTreeNode.getAllowsChildren()

public boolean getAllowsChildren()
Returns true if this node is allowed to have children.

Specified by:
getAllowsChildren sample code for javax.swing.tree.TreeNode.getAllowsChildren() definition code for javax.swing.tree.TreeNode.getAllowsChildren() in interface TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode
Returns:
true if this node allows children, else false

setUserObject sample code for javax.swing.tree.DefaultMutableTreeNode.setUserObject(java.lang.Object) definition code for javax.swing.tree.DefaultMutableTreeNode.setUserObject(java.lang.Object)

public void setUserObject(Object sample code for java.lang.Object definition code for java.lang.Object  userObject)
Sets the user object for this node to userObject.

Specified by:
setUserObject sample code for javax.swing.tree.MutableTreeNode.setUserObject(java.lang.Object) definition code for javax.swing.tree.MutableTreeNode.setUserObject(java.lang.Object) in interface MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode
Parameters:
userObject - the Object that constitutes this node's user-specified data
See Also:
getUserObject() sample code for javax.swing.tree.DefaultMutableTreeNode.getUserObject() definition code for javax.swing.tree.DefaultMutableTreeNode.getUserObject() , toString() sample code for javax.swing.tree.DefaultMutableTreeNode.toString() definition code for javax.swing.tree.DefaultMutableTreeNode.toString()

getUserObject sample code for javax.swing.tree.DefaultMutableTreeNode.getUserObject() definition code for javax.swing.tree.DefaultMutableTreeNode.getUserObject()

public Object sample code for java.lang.Object definition code for java.lang.Object  getUserObject()
Returns this node's user object.

Returns:
the Object stored at this node by the user
See Also:
setUserObject(java.lang.Object) sample code for javax.swing.tree.DefaultMutableTreeNode.setUserObject(java.lang.Object) definition code for javax.swing.tree.DefaultMutableTreeNode.setUserObject(java.lang.Object) , toString() sample code for javax.swing.tree.DefaultMutableTreeNode.toString() definition code for javax.swing.tree.DefaultMutableTreeNode.toString()

removeFromParent sample code for javax.swing.tree.DefaultMutableTreeNode.removeFromParent() definition code for javax.swing.tree.DefaultMutableTreeNode.removeFromParent()

public void removeFromParent()
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.

Specified by:
removeFromParent sample code for javax.swing.tree.MutableTreeNode.removeFromParent() definition code for javax.swing.tree.MutableTreeNode.removeFromParent() in interface MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode

remove sample code for javax.swing.tree.DefaultMutableTreeNode.remove(javax.swing.tree.MutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.remove(javax.swing.tree.MutableTreeNode)

public void remove(MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode  aChild)
Removes aChild from this node's child array, giving it a null parent.

Specified by:
remove sample code for javax.swing.tree.MutableTreeNode.remove(javax.swing.tree.MutableTreeNode) definition code for javax.swing.tree.MutableTreeNode.remove(javax.swing.tree.MutableTreeNode) in interface MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode
Parameters:
aChild - a child of this node to remove
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if aChild is null or is not a child of this node

removeAllChildren sample code for javax.swing.tree.DefaultMutableTreeNode.removeAllChildren() definition code for javax.swing.tree.DefaultMutableTreeNode.removeAllChildren()

public void removeAllChildren()
Removes all of this node's children, setting their parents to null. If this node has no children, this method does nothing.


add sample code for javax.swing.tree.DefaultMutableTreeNode.add(javax.swing.tree.MutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.add(javax.swing.tree.MutableTreeNode)

public void add(MutableTreeNode sample code for javax.swing.tree.MutableTreeNode definition code for javax.swing.tree.MutableTreeNode  newChild)
Removes newChild from its parent and makes it a child of this node by adding it to the end of this node's child array.

Parameters:
newChild - node to add as a child of this node
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if newChild is null
IllegalStateException sample code for java.lang.IllegalStateException definition code for java.lang.IllegalStateException - if this node does not allow children
See Also:
insert(javax.swing.tree.MutableTreeNode, int) sample code for javax.swing.tree.DefaultMutableTreeNode.insert(javax.swing.tree.MutableTreeNode, int) definition code for javax.swing.tree.DefaultMutableTreeNode.insert(javax.swing.tree.MutableTreeNode, int)

isNodeAncestor sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode)

public boolean isNodeAncestor(TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  anotherNode)
Returns true if anotherNode 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 anotherNode is null, this method returns false. This operation is at worst O(h) where h is the distance from the root to this node.

Parameters:
anotherNode - node to test as an ancestor of this node
Returns:
true if this node is a descendant of anotherNode
See Also:
isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) , getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)

isNodeDescendant sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

public boolean isNodeDescendant(DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  anotherNode)
Returns true if anotherNode 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 anotherNode is null, returns false. This operation is at worst O(h) where h is the distance from the root to anotherNode.

Parameters:
anotherNode - node to test as descendant of this node
Returns:
true if this node is an ancestor of anotherNode
See Also:
isNodeAncestor(javax.swing.tree.TreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) , getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)

getSharedAncestor sample code for javax.swing.tree.DefaultMutableTreeNode.getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode)

public TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  getSharedAncestor(DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  aNode)
Returns the nearest common ancestor to this node and aNode. Returns null, if no such ancestor exists -- if this node and aNode are in different trees or if aNode is null. A node is considered an ancestor of itself.

Parameters:
aNode - node to find common ancestor with
Returns:
nearest ancestor common to this node and aNode, or null if none
See Also:
isNodeAncestor(javax.swing.tree.TreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) , isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

isNodeRelated sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeRelated(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeRelated(javax.swing.tree.DefaultMutableTreeNode)

public boolean isNodeRelated(DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  aNode)
Returns true if and only if aNode is in the same tree as this node. Returns false if aNode is null.

Returns:
true if aNode is in the same tree as this node; false if aNode is null
See Also:
getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getSharedAncestor(javax.swing.tree.DefaultMutableTreeNode) , getRoot() sample code for javax.swing.tree.DefaultMutableTreeNode.getRoot() definition code for javax.swing.tree.DefaultMutableTreeNode.getRoot()

getDepth sample code for javax.swing.tree.DefaultMutableTreeNode.getDepth() definition code for javax.swing.tree.DefaultMutableTreeNode.getDepth()

public int getDepth()
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 getLevel() because it must effectively traverse the entire tree rooted at this node.

Returns:
the depth of the tree whose root is this node
See Also:
getLevel() sample code for javax.swing.tree.DefaultMutableTreeNode.getLevel() definition code for javax.swing.tree.DefaultMutableTreeNode.getLevel()

getLevel sample code for javax.swing.tree.DefaultMutableTreeNode.getLevel() definition code for javax.swing.tree.DefaultMutableTreeNode.getLevel()

public int getLevel()
Returns the number of levels above this node -- the distance from the root to this node. If this node is the root, returns 0.

Returns:
the number of levels above this node
See Also:
getDepth() sample code for javax.swing.tree.DefaultMutableTreeNode.getDepth() definition code for javax.swing.tree.DefaultMutableTreeNode.getDepth()

getPath sample code for javax.swing.tree.DefaultMutableTreeNode.getPath() definition code for javax.swing.tree.DefaultMutableTreeNode.getPath()

public TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode [] getPath()
Returns the path from the root, to get to this node. The last element in the path is this node.

Returns:
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.

getPathToRoot sample code for javax.swing.tree.DefaultMutableTreeNode.getPathToRoot(javax.swing.tree.TreeNode, int) definition code for javax.swing.tree.DefaultMutableTreeNode.getPathToRoot(javax.swing.tree.TreeNode, int)

protected TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode [] getPathToRoot(TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  aNode,
                                   int depth)
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.

Parameters:
aNode - the TreeNode to get the path for
depth - an int giving the number of steps already taken towards the root (on recursive calls), used to size the returned array
Returns:
an array of TreeNodes giving the path from the root to the specified node

getUserObjectPath sample code for javax.swing.tree.DefaultMutableTreeNode.getUserObjectPath() definition code for javax.swing.tree.DefaultMutableTreeNode.getUserObjectPath()

public Object sample code for java.lang.Object definition code for java.lang.Object [] getUserObjectPath()
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.


getRoot sample code for javax.swing.tree.DefaultMutableTreeNode.getRoot() definition code for javax.swing.tree.DefaultMutableTreeNode.getRoot()

public TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  getRoot()
Returns the root of the tree that contains this node. The root is the ancestor with a null parent.

Returns:
the root of the tree that contains this node
See Also:
isNodeAncestor(javax.swing.tree.TreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode)

isRoot sample code for javax.swing.tree.DefaultMutableTreeNode.isRoot() definition code for javax.swing.tree.DefaultMutableTreeNode.isRoot()

public boolean isRoot()
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.

Returns:
true if this node is the root of its tree

getNextNode sample code for javax.swing.tree.DefaultMutableTreeNode.getNextNode() definition code for javax.swing.tree.DefaultMutableTreeNode.getNextNode()

public DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  getNextNode()
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.

Returns:
the node that follows this node in a preorder traversal, or null if this node is last
See Also:
preorderEnumeration() sample code for javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration()

getPreviousNode sample code for javax.swing.tree.DefaultMutableTreeNode.getPreviousNode() definition code for javax.swing.tree.DefaultMutableTreeNode.getPreviousNode()

public DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  getPreviousNode()
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 traversal -- the root of the tree. This is an inefficient way to traverse the entire tree; use an enumeration, instead.

Returns:
the node that precedes this node in a preorder traversal, or null if this node is the first
See Also:
preorderEnumeration() sample code for javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration()

preorderEnumeration sample code for javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration()

public Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration  preorderEnumeration()
Creates and returns an enumeration that traverses the subtree rooted at this node in preorder. The first node returned by the enumeration's nextElement() method is this node.

Modifying the tree by inserting, removing, or moving a node invalidates any enumerations created before the modification.

Returns:
an enumeration for traversing the tree in preorder
See Also:
postorderEnumeration() sample code for javax.swing.tree.DefaultMutableTreeNode.postorderEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.postorderEnumeration()

postorderEnumeration sample code for javax.swing.tree.DefaultMutableTreeNode.postorderEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.postorderEnumeration()

public Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration  postorderEnumeration()
Creates and returns an enumeration that traverses the subtree rooted at this node in postorder. The first node returned by the enumeration's nextElement() method is the leftmost leaf. This is the same as a depth-first traversal.

Modifying the tree by inserting, removing, or moving a node invalidates any enumerations created before the modification.

Returns:
an enumeration for traversing the tree in postorder
See Also:
depthFirstEnumeration() sample code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration() , preorderEnumeration() sample code for javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.preorderEnumeration()

breadthFirstEnumeration sample code for javax.swing.tree.DefaultMutableTreeNode.breadthFirstEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.breadthFirstEnumeration()

public Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration  breadthFirstEnumeration()
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 nextElement() method is this node.

Modifying the tree by inserting, removing, or moving a node invalidates any enumerations created before the modification.

Returns:
an enumeration for traversing the tree in breadth-first order
See Also:
depthFirstEnumeration() sample code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration()

depthFirstEnumeration sample code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration()

public Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration  depthFirstEnumeration()
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 nextElement() method is the leftmost leaf. This is the same as a postorder traversal.

Modifying the tree by inserting, removing, or moving a node invalidates any enumerations created before the modification.

Returns:
an enumeration for traversing the tree in depth-first order
See Also:
breadthFirstEnumeration() sample code for javax.swing.tree.DefaultMutableTreeNode.breadthFirstEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.breadthFirstEnumeration() , postorderEnumeration() sample code for javax.swing.tree.DefaultMutableTreeNode.postorderEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.postorderEnumeration()

pathFromAncestorEnumeration sample code for javax.swing.tree.DefaultMutableTreeNode.pathFromAncestorEnumeration(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.pathFromAncestorEnumeration(javax.swing.tree.TreeNode)

public Enumeration sample code for java.util.Enumeration definition code for java.util.Enumeration  pathFromAncestorEnumeration(TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  ancestor)
Creates and returns an enumeration that follows the path from ancestor to this node. The enumeration's nextElement() method first returns ancestor, then the child of ancestor 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 ancestor, inclusive. Each nextElement() message is O(1).

Modifying the tree by inserting, removing, or moving a node invalidates any enumerations created before the modification.

Returns:
an enumeration for following the path from an ancestor of this node to this one
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if ancestor is not an ancestor of this node
See Also:
isNodeAncestor(javax.swing.tree.TreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) , isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

isNodeChild sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeChild(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeChild(javax.swing.tree.TreeNode)

public boolean isNodeChild(TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  aNode)
Returns true if aNode is a child of this node. If aNode is null, this method returns false.

Returns:
true if aNode is a child of this node; false if aNode is null

getFirstChild sample code for javax.swing.tree.DefaultMutableTreeNode.getFirstChild() definition code for javax.swing.tree.DefaultMutableTreeNode.getFirstChild()

public TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  getFirstChild()
Returns this node's first child. If this node has no children, throws NoSuchElementException.

Returns:
the first child of this node
Throws:
NoSuchElementException sample code for java.util.NoSuchElementException definition code for java.util.NoSuchElementException - if this node has no children

getLastChild sample code for javax.swing.tree.DefaultMutableTreeNode.getLastChild() definition code for javax.swing.tree.DefaultMutableTreeNode.getLastChild()

public TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  getLastChild()
Returns this node's last child. If this node has no children, throws NoSuchElementException.

Returns:
the last child of this node
Throws:
NoSuchElementException sample code for java.util.NoSuchElementException definition code for java.util.NoSuchElementException - if this node has no children

getChildAfter sample code for javax.swing.tree.DefaultMutableTreeNode.getChildAfter(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getChildAfter(javax.swing.tree.TreeNode)

public TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  getChildAfter(TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  aChild)
Returns the child in this node's child array that immediately follows aChild, which must be a child of this node. If aChild is the last child, returns null. This method performs a linear search of this node's children for aChild and is O(n) where n is the number of children; to traverse the entire array of children, use an enumeration instead.

Returns:
the child of this node that immediately follows aChild
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if aChild is null or is not a child of this node
See Also:
children sample code for javax.swing.tree.DefaultMutableTreeNode.children definition code for javax.swing.tree.DefaultMutableTreeNode.children

getChildBefore sample code for javax.swing.tree.DefaultMutableTreeNode.getChildBefore(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.getChildBefore(javax.swing.tree.TreeNode)

public TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  getChildBefore(TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  aChild)
Returns the child in this node's child array that immediately precedes aChild, which must be a child of this node. If aChild is the first child, returns null. This method performs a linear search of this node's children for aChild and is O(n) where n is the number of children.

Returns:
the child of this node that immediately precedes aChild
Throws:
IllegalArgumentException sample code for java.lang.IllegalArgumentException definition code for java.lang.IllegalArgumentException - if aChild is null or is not a child of this node

isNodeSibling sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeSibling(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeSibling(javax.swing.tree.TreeNode)

public boolean isNodeSibling(TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode  anotherNode)
Returns true if anotherNode is a sibling of (has the same parent as) this node. A node is its own sibling. If anotherNode is null, returns false.

Parameters:
anotherNode - node to test as sibling of this node
Returns:
true if anotherNode is a sibling of this node

getSiblingCount sample code for javax.swing.tree.DefaultMutableTreeNode.getSiblingCount() definition code for javax.swing.tree.DefaultMutableTreeNode.getSiblingCount()

public int getSiblingCount()
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 1).

Returns:
the number of siblings of this node

getNextSibling sample code for javax.swing.tree.DefaultMutableTreeNode.getNextSibling() definition code for javax.swing.tree.DefaultMutableTreeNode.getNextSibling()

public DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  getNextSibling()
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.

Returns:
the sibling of this node that immediately follows this node
See Also:
children sample code for javax.swing.tree.DefaultMutableTreeNode.children definition code for javax.swing.tree.DefaultMutableTreeNode.children

getPreviousSibling sample code for javax.swing.tree.DefaultMutableTreeNode.getPreviousSibling() definition code for javax.swing.tree.DefaultMutableTreeNode.getPreviousSibling()

public DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  getPreviousSibling()
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.

Returns:
the sibling of this node that immediately precedes this node

isLeaf sample code for javax.swing.tree.DefaultMutableTreeNode.isLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.isLeaf()

public boolean isLeaf()
Returns true if this node has no children. To distinguish between nodes that have no children and nodes that cannot have children (e.g. to distinguish files from empty directories), use this method in conjunction with getAllowsChildren

Specified by:
isLeaf sample code for javax.swing.tree.TreeNode.isLeaf() definition code for javax.swing.tree.TreeNode.isLeaf() in interface TreeNode sample code for javax.swing.tree.TreeNode definition code for javax.swing.tree.TreeNode
Returns:
true if this node has no children
See Also:
getAllowsChildren() sample code for javax.swing.tree.DefaultMutableTreeNode.getAllowsChildren() definition code for javax.swing.tree.DefaultMutableTreeNode.getAllowsChildren()

getFirstLeaf sample code for javax.swing.tree.DefaultMutableTreeNode.getFirstLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.getFirstLeaf()

public DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  getFirstLeaf()
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.

Returns:
the first leaf in the subtree rooted at this node
See Also:
isLeaf() sample code for javax.swing.tree.DefaultMutableTreeNode.isLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.isLeaf() , isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

getLastLeaf sample code for javax.swing.tree.DefaultMutableTreeNode.getLastLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.getLastLeaf()

public DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  getLastLeaf()
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.

Returns:
the last leaf in the subtree rooted at this node
See Also:
isLeaf() sample code for javax.swing.tree.DefaultMutableTreeNode.isLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.isLeaf() , isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeDescendant(javax.swing.tree.DefaultMutableTreeNode)

getNextLeaf sample code for javax.swing.tree.DefaultMutableTreeNode.getNextLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.getNextLeaf()

public DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  getNextLeaf()
Returns the leaf after this node or null if this node is the last leaf in the tree.

In this implementation of the MutableNode 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.

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 depthFirstEnumeration to enumerate the nodes in the tree and use isLeaf on each node to determine which are leaves.

Returns:
returns the next leaf past this node
See Also:
depthFirstEnumeration() sample code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration() , isLeaf() sample code for javax.swing.tree.DefaultMutableTreeNode.isLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.isLeaf()

getPreviousLeaf sample code for javax.swing.tree.DefaultMutableTreeNode.getPreviousLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.getPreviousLeaf()

public DefaultMutableTreeNode sample code for javax.swing.tree.DefaultMutableTreeNode definition code for javax.swing.tree.DefaultMutableTreeNode  getPreviousLeaf()
Returns the leaf before this node or null if this node is the first leaf in the tree.

In this implementation of the MutableNode 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.

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 depthFirstEnumeration to enumerate the nodes in the tree and use isLeaf on each node to determine which are leaves.

Returns:
returns the leaf before this node
See Also:
depthFirstEnumeration() sample code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration() definition code for javax.swing.tree.DefaultMutableTreeNode.depthFirstEnumeration() , isLeaf() sample code for javax.swing.tree.DefaultMutableTreeNode.isLeaf() definition code for javax.swing.tree.DefaultMutableTreeNode.isLeaf()

getLeafCount sample code for javax.swing.tree.DefaultMutableTreeNode.getLeafCount() definition code for javax.swing.tree.DefaultMutableTreeNode.getLeafCount()

public int getLeafCount()
Returns the total number of leaves that are descendants of this node. If this node is a leaf, returns 1. This method is O(n) where n is the number of descendants of this node.

Returns:
the number of leaves beneath this node
See Also:
isNodeAncestor(javax.swing.tree.TreeNode) sample code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode) definition code for javax.swing.tree.DefaultMutableTreeNode.isNodeAncestor(javax.swing.tree.TreeNode)

toString sample code for javax.swing.tree.DefaultMutableTreeNode.toString() definition code for javax.swing.tree.DefaultMutableTreeNode.toString()

public String sample code for java.lang.String definition code for java.lang.String  toString()
Returns the result of sending toString() to this node's user object, or null if this node has no user object.

Overrides:
toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() in class Object sample code for java.lang.Object definition code for java.lang.Object
Returns:
a string representation of the object.
See Also:
getUserObject() sample code for javax.swing.tree.DefaultMutableTreeNode.getUserObject() definition code for javax.swing.tree.DefaultMutableTreeNode.getUserObject()

clone sample code for javax.swing.tree.DefaultMutableTreeNode.clone() definition code for javax.swing.tree.DefaultMutableTreeNode.clone()

public Object sample code for java.lang.Object definition code for java.lang.Object  clone()
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.

Overrides:
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() in class Object sample code for java.lang.Object definition code for java.lang.Object
Returns:
a copy of this node
See Also:
Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable