## Uses of Interface
javax.swing.tree.TreeNode

- Packages that use TreeNode
  Package | Description
  --- | ---
  javax.swing | Provides a set of "lightweight" (all-Java language) components that, to the maximum degree possible, work the same on all platforms.
  javax.swing.text | Provides classes and interfaces that deal with editable and noneditable text components.
  javax.swing.text.html | Provides the class `HTMLEditorKit` and supporting classes for creating HTML text editors.
  javax.swing.tree | Provides classes and interfaces for dealing with `javax.swing.JTree`.

- - ### Uses of TreeNode in javax.swing

    Classes in javax.swing that implement TreeNode
    Modifier and Type | Class | Description
    --- | --- | ---
    `static class` | `JTree.DynamicUtilTreeNode` | `DynamicUtilTreeNode` can wrap vectors/hashtables/arrays/strings and create the appropriate children tree nodes as necessary.

    Methods in javax.swing that return TreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `TreeNode` | JTree.DynamicUtilTreeNode.`getChildAt​(int index)` | Subclassed to load the children, if necessary.

    Methods in javax.swing that return types with arguments of type TreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `Enumeration<TreeNode>` | JTree.DynamicUtilTreeNode.`children​()` | Subclassed to load the children, if necessary.

    Constructors in javax.swing with parameters of type TreeNode
    Constructor | Description
    --- | ---
    `JTree​(TreeNode root)` | Returns a `JTree` with the specified `TreeNode` as its root, which displays the root node.
    `JTree​(TreeNode root, boolean asksAllowsChildren)` | Returns a `JTree` with the specified `TreeNode` as its root, which displays the root node and which decides whether a node is a leaf node in the specified manner.

  - ### Uses of TreeNode in javax.swing.text

    Classes in javax.swing.text that implement TreeNode
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `AbstractDocument.AbstractElement` | Implements the abstract part of an element.
    `class` | `AbstractDocument.BranchElement` | Implements a composite element that contains other elements.
    `class` | `AbstractDocument.LeafElement` | Implements an element that directly represents content of some kind.
    `protected class` | `DefaultStyledDocument.SectionElement` | Default root element for a document... maps out the paragraphs/lines contained.

    Methods in javax.swing.text that return TreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `TreeNode` | AbstractDocument.AbstractElement.`getChildAt​(int childIndex)` | Returns the child `TreeNode` at index `childIndex`.
    `TreeNode` | AbstractDocument.AbstractElement.`getParent​()` | Returns the parent `TreeNode` of the receiver.

    Methods in javax.swing.text that return types with arguments of type TreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract Enumeration<TreeNode>` | AbstractDocument.AbstractElement.`children​()` | Returns the children of the receiver as an `Enumeration`.
    `Enumeration<TreeNode>` | AbstractDocument.BranchElement.`children​()` | Returns the children of the receiver as an `Enumeration`.
    `Enumeration<TreeNode>` | AbstractDocument.LeafElement.`children​()` | Returns the children of the receiver as an `Enumeration`.

    Methods in javax.swing.text with parameters of type TreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | AbstractDocument.AbstractElement.`getIndex​(TreeNode node)` | Returns the index of `node` in the receivers children.

  - ### Uses of TreeNode in javax.swing.text.html

    Classes in javax.swing.text.html that implement TreeNode
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `HTMLDocument.BlockElement` | An element that represents a structural block of HTML.
    `class` | `HTMLDocument.RunElement` | An element that represents a chunk of text that has a set of HTML character level attributes assigned to it.

  - ### Uses of TreeNode in javax.swing.tree

    Subinterfaces of TreeNode in javax.swing.tree
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `MutableTreeNode` | Defines the requirements for a tree node object that can change -- by adding or removing child nodes, or by changing the contents of a user object stored in the node.

    Classes in javax.swing.tree that implement TreeNode
    Modifier and Type | Class | Description
    --- | --- | ---
    `class` | `DefaultMutableTreeNode` | A `DefaultMutableTreeNode` is a general-purpose node in a tree data structure.

    Fields in javax.swing.tree declared as TreeNode
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected TreeNode` | DefaultTreeModel.`root` | Root of the tree.

    Fields in javax.swing.tree with type parameters of type TreeNode
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected Vector<TreeNode>` | DefaultMutableTreeNode.`children` | array of children, may be null if this node has no children
    `static Enumeration<TreeNode>` | DefaultMutableTreeNode.`EMPTY_ENUMERATION` | An enumeration that is always empty.

    Methods in javax.swing.tree that return TreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `TreeNode` | DefaultMutableTreeNode.`getChildAfter​(TreeNode aChild)` | Returns the child in this node's child array that immediately follows `aChild`, which must be a child of this node.
    `TreeNode` | DefaultMutableTreeNode.`getChildAt​(int index)` | Returns the child at the specified index in this node's child array.
    `TreeNode` | TreeNode.`getChildAt​(int childIndex)` | Returns the child `TreeNode` at index `childIndex`.
    `TreeNode` | DefaultMutableTreeNode.`getChildBefore​(TreeNode aChild)` | Returns the child in this node's child array that immediately precedes `aChild`, which must be a child of this node.
    `TreeNode` | DefaultMutableTreeNode.`getFirstChild​()` | Returns this node's first child.
    `TreeNode` | DefaultMutableTreeNode.`getLastChild​()` | Returns this node's last child.
    `TreeNode` | DefaultMutableTreeNode.`getParent​()` | Returns this node's parent or null if this node has no parent.
    `TreeNode` | TreeNode.`getParent​()` | Returns the parent `TreeNode` of the receiver.
    `TreeNode[]` | DefaultMutableTreeNode.`getPath​()` | Returns the path from the root, to get to this node.
    `protected TreeNode[]` | DefaultMutableTreeNode.`getPathToRoot​(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.
    `TreeNode[]` | DefaultTreeModel.`getPathToRoot​(TreeNode aNode)` | Builds the parents of node up to and including the root node, where the original node is the last element in the returned array.
    `protected TreeNode[]` | DefaultTreeModel.`getPathToRoot​(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.
    `TreeNode` | DefaultMutableTreeNode.`getRoot​()` | Returns the root of the tree that contains this node.
    `TreeNode` | DefaultMutableTreeNode.`getSharedAncestor​(DefaultMutableTreeNode aNode)` | Returns the nearest common ancestor to this node and `aNode`.

    Methods in javax.swing.tree that return types with arguments of type TreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `Enumeration<TreeNode>` | DefaultMutableTreeNode.`breadthFirstEnumeration​()` | Creates and returns an enumeration that traverses the subtree rooted at this node in breadth-first order.
    `Enumeration<TreeNode>` | DefaultMutableTreeNode.`children​()` | Creates and returns a forward-order enumeration of this node's children.
    `Enumeration<? extends TreeNode>` | TreeNode.`children​()` | Returns the children of the receiver as an `Enumeration`.
    `Enumeration<TreeNode>` | DefaultMutableTreeNode.`depthFirstEnumeration​()` | Creates and returns an enumeration that traverses the subtree rooted at this node in depth-first order.
    `Enumeration<TreeNode>` | DefaultMutableTreeNode.`pathFromAncestorEnumeration​(TreeNode ancestor)` | Creates and returns an enumeration that follows the path from `ancestor` to this node.
    `Enumeration<TreeNode>` | DefaultMutableTreeNode.`postorderEnumeration​()` | Creates and returns an enumeration that traverses the subtree rooted at this node in postorder.
    `Enumeration<TreeNode>` | DefaultMutableTreeNode.`preorderEnumeration​()` | Creates and returns an enumeration that traverses the subtree rooted at this node in preorder.

    Methods in javax.swing.tree with parameters of type TreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `TreeNode` | DefaultMutableTreeNode.`getChildAfter​(TreeNode aChild)` | Returns the child in this node's child array that immediately follows `aChild`, which must be a child of this node.
    `TreeNode` | DefaultMutableTreeNode.`getChildBefore​(TreeNode aChild)` | Returns the child in this node's child array that immediately precedes `aChild`, which must be a child of this node.
    `int` | DefaultMutableTreeNode.`getIndex​(TreeNode aChild)` | Returns the index of the specified child in this node's child array.
    `int` | TreeNode.`getIndex​(TreeNode node)` | Returns the index of `node` in the receivers children.
    `protected TreeNode[]` | DefaultMutableTreeNode.`getPathToRoot​(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.
    `TreeNode[]` | DefaultTreeModel.`getPathToRoot​(TreeNode aNode)` | Builds the parents of node up to and including the root node, where the original node is the last element in the returned array.
    `protected TreeNode[]` | DefaultTreeModel.`getPathToRoot​(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.
    `boolean` | DefaultMutableTreeNode.`isNodeAncestor​(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` | DefaultMutableTreeNode.`isNodeChild​(TreeNode aNode)` | Returns true if `aNode` is a child of this node.
    `boolean` | DefaultMutableTreeNode.`isNodeSibling​(TreeNode anotherNode)` | Returns true if `anotherNode` is a sibling of (has the same parent as) this node.
    `void` | DefaultTreeModel.`nodeChanged​(TreeNode node)` | Invoke this method after you've changed how node is to be represented in the tree.
    `void` | DefaultTreeModel.`nodesChanged​(TreeNode node, int[] childIndices)` | Invoke this method after you've changed how the children identified by childIndicies are to be represented in the tree.
    `void` | DefaultTreeModel.`nodeStructureChanged​(TreeNode node)` | Invoke this method if you've totally changed the children of node and its children's children...
    `void` | DefaultTreeModel.`nodesWereInserted​(TreeNode node, int[] childIndices)` | Invoke this method after you've inserted some TreeNodes into node.
    `void` | DefaultTreeModel.`nodesWereRemoved​(TreeNode node, int[] childIndices, Object[] removedChildren)` | Invoke this method after you've removed some TreeNodes from node.
    `Enumeration<TreeNode>` | DefaultMutableTreeNode.`pathFromAncestorEnumeration​(TreeNode ancestor)` | Creates and returns an enumeration that follows the path from `ancestor` to this node.
    `void` | DefaultTreeModel.`reload​(TreeNode node)` | Invoke this method if you've modified the `TreeNode`s upon which this model depends.
    `void` | DefaultTreeModel.`setRoot​(TreeNode root)` | Sets the root to `root`.

    Constructors in javax.swing.tree with parameters of type TreeNode
    Constructor | Description
    --- | ---
    `DefaultTreeModel​(TreeNode root)` | Creates a tree in which any node can have children.
    `DefaultTreeModel​(TreeNode root, boolean asksAllowsChildren)` | Creates a tree specifying whether any node can have children, or whether only certain nodes can have children.