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

- Packages that use MutableTreeNode
  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.tree | Provides classes and interfaces for dealing with `javax.swing.JTree`.

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

    Classes in javax.swing that implement MutableTreeNode
    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.

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

    Classes in javax.swing.tree that implement MutableTreeNode
    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 MutableTreeNode
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected MutableTreeNode` | DefaultMutableTreeNode.`parent` | this node's parent, or null if this node has no parent

    Methods in javax.swing.tree with parameters of type MutableTreeNode
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | DefaultMutableTreeNode.`add​(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.
    `void` | DefaultMutableTreeNode.`insert​(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`.
    `void` | MutableTreeNode.`insert​(MutableTreeNode child, int index)` | Adds `child` to the receiver at `index`.
    `void` | DefaultTreeModel.`insertNodeInto​(MutableTreeNode newChild, MutableTreeNode parent, int index)` | Invoked this to insert newChild at location index in parents children.
    `void` | DefaultMutableTreeNode.`remove​(MutableTreeNode aChild)` | Removes `aChild` from this node's child array, giving it a null parent.
    `void` | MutableTreeNode.`remove​(MutableTreeNode node)` | Removes `node` from the receiver.
    `void` | DefaultTreeModel.`removeNodeFromParent​(MutableTreeNode node)` | Message this to remove node from its parent.
    `void` | DefaultMutableTreeNode.`setParent​(MutableTreeNode newParent)` | Sets this node's parent to `newParent` but does not change the parent's child array.
    `void` | MutableTreeNode.`setParent​(MutableTreeNode newParent)` | Sets the parent of the receiver to `newParent`.