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

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 Details

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