javax.swing.tree

## Interface MutableTreeNode

- All Superinterfaces:
    TreeNode
  All Known Implementing Classes:
    DefaultMutableTreeNode, JTree.DynamicUtilTreeNode

      public interface MutableTreeNode
      extends TreeNode

  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.
  See Also:
    `DefaultMutableTreeNode`, `JTree`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `insert(MutableTreeNode child, int index)` | Adds `child` to the receiver at `index`.
    `void` | `remove(int index)` | Removes the child at `index` from the receiver.
    `void` | `remove(MutableTreeNode node)` | Removes `node` from the receiver.
    `void` | `removeFromParent()` | Removes the receiver from its parent.
    `void` | `setParent(MutableTreeNode newParent)` | Sets the parent of the receiver to `newParent`.
    `void` | `setUserObject(Object object)` | Resets the user object of the receiver to `object`.

    - ### Methods inherited from interface javax.swing.tree.TreeNode

      `children, getAllowsChildren, getChildAt, getChildCount, getIndex, getParent, isLeaf`

- - ### Method Detail

    - #### insert

          void insert(MutableTreeNode child,
                      int index)

      Adds `child` to the receiver at `index`. `child` will be messaged with `setParent`.

    - #### remove

          void remove(int index)

      Removes the child at `index` from the receiver.

    - #### remove

          void remove(MutableTreeNode node)

      Removes `node` from the receiver. `setParent` will be messaged on `node`.

    - #### setUserObject

          void setUserObject(Object object)

      Resets the user object of the receiver to `object`.

    - #### removeFromParent

          void removeFromParent()

      Removes the receiver from its parent.

    - #### setParent

          void setParent(MutableTreeNode newParent)

      Sets the parent of the receiver to `newParent`.

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.