JavaTM 2 Platform
Standard Edition

javax.swing
Class JTree.DynamicUtilTreeNode

java.lang.Object
  |
  +--javax.swing.tree.DefaultMutableTreeNode
        |
        +--javax.swing.JTree.DynamicUtilTreeNode
Enclosing class:
JTree

public static class JTree.DynamicUtilTreeNode
extends DefaultMutableTreeNode

DynamicUtilTreeNode can wrap vectors/hashtables/arrays/strings and create the appropriate children tree nodes as necessary. It is dynamic in that it'll only create the children as necessary.

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. A future release of Swing will provide support for long term persistence.

See Also:
Serialized Form

Field Summary
protected  Object childValue
          Value to create children with.
protected  boolean hasChildren
           
protected  boolean loadedChildren
           
 
Fields inherited from class javax.swing.tree.DefaultMutableTreeNode
allowsChildren, children, EMPTY_ENUMERATION, parent, userObject
 
Constructor Summary
JTree.DynamicUtilTreeNode(Object value, Object children)
          Creates a node with the specified object as its value and with the specified children.
 
Method Summary
 Enumeration children()
          Subclassed to load the children, if necessary.
static void createChildren(DefaultMutableTreeNode parent, Object children)
          Adds to parent all the children in children.
 TreeNode getChildAt(int index)
          Subclassed to load the children, if necessary.
 int getChildCount()
          Returns the number of child nodes.
 boolean isLeaf()
          Returns true if this node allows children.
protected  void loadChildren()
          Loads the children based on childValue.
 
Methods inherited from class javax.swing.tree.DefaultMutableTreeNode
add, breadthFirstEnumeration, clone, depthFirstEnumeration, getAllowsChildren, getChildAfter, getChildBefore, getDepth, getFirstChild, getFirstLeaf, getIndex, getLastChild, getLastLeaf, getLeafCount, getLevel, getNextLeaf, getNextNode, getNextSibling, getParent, getPath, getPathToRoot, getPreviousLeaf, getPreviousNode, getPreviousSibling, getRoot, getSharedAncestor, getSiblingCount, getUserObject, getUserObjectPath, insert, isNodeAncestor, isNodeChild, isNodeDescendant, isNodeRelated, isNodeSibling, isRoot, pathFromAncestorEnumeration, postorderEnumeration, preorderEnumeration, remove, remove, removeAllChildren, removeFromParent, setAllowsChildren, setParent, setUserObject, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

hasChildren

protected boolean hasChildren

childValue

protected Object childValue
Value to create children with.

loadedChildren

protected boolean loadedChildren
Constructor Detail

JTree.DynamicUtilTreeNode

public JTree.DynamicUtilTreeNode(Object value,
                                 Object children)
Creates a node with the specified object as its value and with the specified children. For the node to allow children, the children-object must be an array of objects, a Vector, or a Hashtable -- even if empty. Otherwise, the node is not allowed to have children.
Parameters:
value - the Object that is the value for the new node
children - an array of Objects, a Vector, or a Hashtable used to create the child nodes. If any other object is specified, or if the value is null, then the node is not allowed to have children.
Method Detail

createChildren

public static void createChildren(DefaultMutableTreeNode parent,
                                  Object children)
Adds to parent all the children in children. If children is an array or Vector all of its elements are added is children, otherwise if children is a Hashtable all the key/value pairs are added in the order Enumeration returns them.

isLeaf

public boolean isLeaf()
Returns true if this node allows children. Whether the node allows children depends on how it was created.
Overrides:
isLeaf in class DefaultMutableTreeNode
Returns:
true if this node allows children, false otherwise.
See Also:
JTree.DynamicUtilTreeNode#DynamicUtilTreeNode(Object, Object)

getChildCount

public int getChildCount()
Returns the number of child nodes.
Overrides:
getChildCount in class DefaultMutableTreeNode
Returns:
the number of child nodes

loadChildren

protected void loadChildren()
Loads the children based on childValue. If childValue is a Vector orarray each element added as a child, if childValue is a Hashtable each key/value pair is added in the order that Enumeration returns the keys.

getChildAt

public TreeNode getChildAt(int index)
Subclassed to load the children, if necessary.
Overrides:
getChildAt in class DefaultMutableTreeNode
Tags copied from class: DefaultMutableTreeNode
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 - if index is out of bounds

children

public Enumeration children()
Subclassed to load the children, if necessary.
Overrides:
children in class DefaultMutableTreeNode
Tags copied from class: DefaultMutableTreeNode
Returns:
an Enumeration of this node's children

JavaTM 2 Platform
Standard Edition

Submit a bug or feature
Java, Java 2D, and JDBC are a trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.