Module java.desktop
Package javax.swing.tree

## Interface TreeNode

- All Known Subinterfaces:
    `MutableTreeNode`
  All Known Implementing Classes:
    `AbstractDocument.AbstractElement`, `AbstractDocument.BranchElement`, `AbstractDocument.LeafElement`, `DefaultMutableTreeNode`, `DefaultStyledDocument.SectionElement`, `HTMLDocument.BlockElement`, `HTMLDocument.RunElement`, `JTree.DynamicUtilTreeNode`

      public interface TreeNode

  Defines the requirements for an object that can be used as a tree node in a JTree.

  Implementations of `TreeNode` that override `equals` will typically need to override `hashCode` as well. Refer to `TreeModel` for more information. For further information and examples of using tree nodes, see How to Use Tree Nodes in The Java Tutorial.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Enumeration<? extends TreeNode>` | `children()` | Returns the children of the receiver as an `Enumeration`.
    `boolean` | `getAllowsChildren()` | Returns true if the receiver allows children.
    `TreeNode` | `getChildAt​(int childIndex)` | Returns the child `TreeNode` at index `childIndex`.
    `int` | `getChildCount()` | Returns the number of children `TreeNode`s the receiver contains.
    `int` | `getIndex​(TreeNode node)` | Returns the index of `node` in the receivers children.
    `TreeNode` | `getParent()` | Returns the parent `TreeNode` of the receiver.
    `boolean` | `isLeaf()` | Returns true if the receiver is a leaf.

- - ### Method Detail

    - #### getChildAt

          TreeNode getChildAt​(int childIndex)

      Returns the child `TreeNode` at index `childIndex`.
      Parameters:
        `childIndex` - index of child
      Returns:
        the child node at given index

    - #### getChildCount

          int getChildCount()

      Returns the number of children `TreeNode`s the receiver contains.
      Returns:
        the number of children the receiver contains

    - #### getParent

          TreeNode getParent()

      Returns the parent `TreeNode` of the receiver.
      Returns:
        the parent of the receiver

    - #### getIndex

          int getIndex​(TreeNode node)

      Returns the index of `node` in the receivers children. If the receiver does not contain `node`, -1 will be returned.
      Parameters:
        `node` - node to be loked for
      Returns:
        index of specified node

    - #### getAllowsChildren

          boolean getAllowsChildren()

      Returns true if the receiver allows children.
      Returns:
        whether the receiver allows children

    - #### isLeaf

          boolean isLeaf()

      Returns true if the receiver is a leaf.
      Returns:
        whether the receiver is a leaf

    - #### children

          Enumeration<? extends TreeNode> children()

      Returns the children of the receiver as an `Enumeration`.
      Returns:
        the children of the receiver as an `Enumeration`