# 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`.