Module java.desktop
Package 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

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 declared in interface javax.swing.tree.TreeNode

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

## Method Details

### insert

void insert(MutableTreeNode child, int index)
Adds `child` to the receiver at `index`. `child` will be messaged with `setParent`.

Parameters:
  `child` - node to be added
  `index` - index of the receiver

### remove

void remove(int index)
Removes the child at `index` from the receiver.

Parameters:
  `index` - index of child to be removed

### remove

void remove(MutableTreeNode node)
Removes `node` from the receiver. `setParent` will be messaged on `node`.

Parameters:
  `node` - node to be removed from the receiver

### setUserObject

void setUserObject(Object object)
Resets the user object of the receiver to `object`.

Parameters:
  `object` - object to be set as a receiver

### removeFromParent

void removeFromParent()
Removes the receiver from its parent.

### setParent

void setParent(MutableTreeNode newParent)
Sets the parent of the receiver to `newParent`.

Parameters:
  `newParent` - node to be set as parent of the receiver