Java JTree_6 (三)

2014-11-24 08:12:17 · 作者: · 浏览: 6
stem.out.println("节点“" + node.getUserObject() + "”将被折叠!");
}

@Override
public void treeWillExpand(TreeExpansionEvent event)
throws ExpandVetoException {
// TODO Auto-generated method stub
TreePath path = event.getPath();
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path
.getLastPathComponent();

System.out.println("节点“" + node.getUserObject() + "”将被展开!");
}

});

tree.addTreeExpansionListener(new TreeExpansionListener() {

@Override
public void treeCollapsed(TreeExpansionEvent event) {
// TODO Auto-generated method stub
TreePath path = event.getPath();
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path
.getLastPathComponent();
System.out.println("节点“" + node.getUserObject() + "”已经被折叠!");
System.out.println();
}

@Override
public void treeExpanded(TreeExpansionEvent event) {
// TODO Auto-generated method stub
TreePath path = event.getPath();
DefaultMutableTreeNode node = (DefaultMutableTreeNode) path
.getLastPathComponent();
if ((node.getUserObject()).equals("技术部")) {
System.out.println("您没有权限查看该节点包含的子节点");
tree.collapsePath(path); // 内部类中引用的变量必须为final
} else {
System.out.println("节点“" + node.getUserObject() + "”已经被展开!");
System.out.println();
}

}

});
}

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
JTree_6 instance = new JTree_6();
instance.setTitle("处理展开节点事件");
instance.setVisible(true);
instance.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
instance.pack();
}

}

摘自 Gaowen_HAN的专栏