Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.swing
Class JTree.DynamicUtilTreeNode

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

All Implemented Interfaces:
  Cloneable, MutableTreeNode, Serializable, TreeNode

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 will 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` Does the this `JTree` have children? This property is currently not implemented.
`protected boolean` | `loadedChildren` Have the children been loaded yet?

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

  Does the this `JTree` have children? This property is currently not implemented.

### childValue

    protected Object childValue

  Value to create children with.

### loadedChildren

    protected boolean loadedChildren

  Have the children been loaded yet?

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 `Object`s, 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(java.lang.Object, java.lang.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` or array each element is 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`
  Following copied from class: `javax.swing.tree.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`
  Following copied from class: `javax.swing.tree.DefaultMutableTreeNode`
  Returns:
    an Enumeration of this node's children

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

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