Start of Tutorial > Start of Trail > Start of Lesson | Search |
By implementing a tree model listener, you can detect when the data displayed by a tree changes. You might use a tree model listener to detect when the user edits tree nodes. To see an example and discussion of doing so, read Dynamically Changing a Tree.
TheTreeModelListener
interface contains four methods:Each tree model event method has a single parameter: a
void treeNodesChanged(TreeModelEvent)
- Called when one or more sibling nodes have changed in some way.
void treeNodesInserted(TreeModelEvent)
- Called after nodes have been inserted into the tree.
void treeNodesRemoved(TreeModelEvent)
- Called after nodes have been removed from the tree.
void treeNodesStructureChanged(TreeModelEvent)
- Called after the tree's structure has drastically changed.
TreeModelEvent
object. TheTreeModelEvent
class defines the following useful method:Also useful is the
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 aTreePath
object.getSource
method, whichTreeModelEvent
inherits fromEventObject
.
TheDynamicTree
example implements a tree model listener to detect when the user has edited a node's data. You can find the listener's code inDynamicTree
. The example also relies onDynamicTreeDemo
. The code is discussed in Dynamically Changing a Tree.
Start of Tutorial > Start of Trail > Start of Lesson | Search |