## 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` | MutableTreeNode.`insert(MutableTreeNode child, int index)` Adds `child` to the receiver at `index`.
    `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` | DefaultTreeModel.`insertNodeInto(MutableTreeNode newChild, MutableTreeNode parent, int index)` Invoked this to insert newChild at location index in parents children.
    `void` | MutableTreeNode.`remove(MutableTreeNode node)` Removes `node` from the receiver.
    `void` | DefaultMutableTreeNode.`remove(MutableTreeNode aChild)` Removes `aChild` from this node's child array, giving it a null parent.
    `void` | DefaultTreeModel.`removeNodeFromParent(MutableTreeNode node)` Message this to remove node from its parent.
    `void` | MutableTreeNode.`setParent(MutableTreeNode newParent)` Sets the parent of the receiver to `newParent`.
    `void` | DefaultMutableTreeNode.`setParent(MutableTreeNode newParent)` Sets this node's parent to `newParent` but does not change the parent's child array.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.