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. |