TreeDemo example discussed in
Responding to Node Selection, of detecting node selection
in a tree that can have at most one node
selected at a time:
tree.addTreeSelectionListener(new TreeSelectionListener() {
public void valueChanged(TreeSelectionEvent e) {
DefaultMutableTreeNode node = (DefaultMutableTreeNode)
tree.getLastSelectedPathComponent();
/* if nothing is selected */
if (node == null) return;
/* retrieve the node that was selected */
Object nodeInfo = node.getUserObject();
...
/* React to the node selection. */
...
}
});
tree.getSelectionModel().setSelectionMode
(TreeSelectionModel.SINGLE_TREE_SELECTION);
TreeSelectionModel interface
defines three values for the selection mode:
DISCONTIGUOUS_TREE_SELECTION
SINGLE_TREE_SELECTION
CONTIGUOUS_TREE_SELECTION
The TreeSelectionListener Interface
Because TreeSelectionListener has only one method,
it has no corresponding adapter class.
| Method | Purpose |
|---|---|
| valueChanged(TreeSelectionEvent) | Called whenever the selection changes. |
| Method | Purpose |
|---|---|
|
Object getSource() (in java.util.EventObject)
|
Return the object that fired the event. |
| TreePath getNewLeadSelectionPath() | Return the current lead path. |
| TreePath getOldLeadSelectionPath() | Return the path that was previously the lead path. |
| TreePath getPath() | Return the first path element. |
| TreePath[] getPaths() | Return the paths that have been added or removed from the selection. |
| boolean isAddedPath() | Return true if the first path element has been added to the selection. Returns false if the first path has been removed from the selection. |
| boolean isAddedPath(int) | Return true if the path specified by the index was added to the selection. |
| boolean isAddedPath(TreePath) | Return true if the specified path was added to the selection. |
| Object getLastSelectedPathComponent() | Return the last path component in the first node of the current selection. |
|
TreePath getLeadSelectionPath() (in JTree)
|
Return the current lead path. |
| Example | Where Described | Notes |
|---|---|---|
TreeDemo
|
How to Use Trees | The tree listener responds to node clicks by showing the appropriate HTML document. |