📄 e1032. listening for expansion and collapse events in a jtree component.txt
字号:
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();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -