| |
e1032. Listening for Expansion and Collapse Events in a JTree Component
The tree component allows you to get events before and after a node
has been expanded or collapsed. The events that are fired before a
node is expanded or collapsed can be vetoed, thereby preventing the
operation.
// Create tree
JTree tree = new JTree();
// Add pre-expansion event listener
tree.addTreeWillExpandListener(new MyTreeWillExpandListener());
// Add post-expansion event listener
tree.addTreeExpansionListener(new MyTreeExpansionListener());
// Pre-expansion/collapse event listener
public class MyTreeWillExpandListener implements TreeWillExpandListener {
public void treeWillExpand(TreeExpansionEvent evt) throws ExpandVetoException {
JTree tree = (JTree)evt.getSource();
// Get the path that will be expanded
TreePath path = evt.getPath();
// Cancel the operation if desired
boolean veto = false;
if (veto) {
throw new ExpandVetoException(evt);
}
}
public void treeWillCollapse(TreeExpansionEvent evt) throws ExpandVetoException {
JTree tree = (JTree)evt.getSource();
// Get the path that will be collapsed
TreePath path = evt.getPath();
// Cancel the operation if desired
boolean veto = false;
if (veto) {
throw new ExpandVetoException(evt);
}
}
}
// Post-expansion/collapse event listener
public class MyTreeExpansionListener implements TreeExpansionListener {
public void treeExpanded(TreeExpansionEvent evt) {
JTree tree = (JTree)evt.getSource();
// Get the path that was expanded
TreePath path = evt.getPath();
}
public void treeCollapsed(TreeExpansionEvent evt) {
JTree tree = (JTree)evt.getSource();
// Get the path that was collapsed
TreePath path = evt.getPath();
}
}
e1033.
Listening for Selection Events in a JTree Component
© 2002 Addison-Wesley.
|