By implementing a tree model listener, you can detect when the data displayed by a tree changes. You can use a tree model listener to detect when the user edits tree nodes. All notifications describe changes relative to a node in the tree. For details, read Dynamically Changing a Tree.
The TreeModelListener Interface
TreeModelListener has no adapter class.
| Method | Purpose | 
|---|---|
| treeNodesChanged(TreeModelEvent) | Called when one or more sibling nodes have changed in some way. | 
| treeNodesInserted(TreeModelEvent) | Called after nodes have been inserted into the tree. | 
| treeNodesRemoved(TreeModelEvent) | Called after nodes have been removed from the tree. | 
| treeStructureChanged(TreeModelEvent) | Called after the tree's structure has drastically changed from the current node on down. This event applies to all nodes connected to this node. | 
| Method | Purpose | 
|---|---|
| Object getSource() (in java.util.EventObject) | Return the object that fired the event. | 
| int[] getChildIndices() | For treeNodesChanged,treeNodesInserted, andtreeNodesRemoved, returns the indices of the changed, inserted, or deleted nodes, respectively. Returns nothing useful fortreeStructureChanged. | 
| Object[] getChildren() | Returns the objects corresponding to the child indices. | 
| Object[] getPath() | Returns the path to the parent of the changed, inserted, or deleted nodes. For treeStructureChanged, returns the path to the node beneath which the structure has changed. | 
| TreePath getTreePath() | Returns the same thing as getPath, but as aTreePathobject. | 
The following table lists the examples that use tree expansion listeners.
| Example | Where Described | Notes | 
|---|---|---|
| DynamicTreeDemo | How to Use Trees | The DynamicTreeclass implements a tree model listener to detect when the user has edited a node's data. |