Java JTree_6

import java.awt.BorderLayout; import java.awt.Container; import javax.swing.JFrame; import javax.swing.JTree; import javax.swing.event.TreeExpansionEvent; import javax.swing.event.TreeExpansionListener; import javax.swing.event.TreeWillExpandListener; import javax.swing.tree.DefaultMutableTreeNode; import javax.swing.tree.DefaultTreeModel; import javax.swing.tree.ExpandVetoException; import javax.swing.tree.TreePath; public class JTree_6 extends JFrame { /** * */ private static final long serialVersionUID = -7110119222281494418L; public JTree_6() { // TODO Auto-generated constructor stub DefaultMutableTreeNode root = new DefaultMutableTreeNode("倾城爱家"); DefaultMutableTreeNode nodeA = new DefaultMutableTreeNode("经理办公室"); DefaultMutableTreeNode nodeB = new DefaultMutableTreeNode("人事部"); DefaultMutableTreeNode nodeC = new DefaultMutableTreeNode("技术部"); DefaultMutableTreeNode nodeD = new DefaultMutableTreeNode("服务部"); DefaultMutableTreeNode nodeE = new DefaultMutableTreeNode("推广部"); DefaultMutableTreeNode nodeCA = new DefaultMutableTreeNode("网络维护部"); DefaultMutableTreeNode nodeCB = new DefaultMutableTreeNode("应用开发部"); DefaultMutableTreeNode nodeDA = new DefaultMutableTreeNode("网络服务部"); DefaultMutableTreeNode nodeDB = new DefaultMutableTreeNode("内勤开发部"); root.add(nodeA); root.add(nodeB); root.add(nodeC); root.add(nodeD); root.add(nodeE); nodeC.add(nodeCA); nodeC.add(nodeCB); nodeD.add(nodeDA); nodeD.add(nodeDB); final DefaultTreeModel treeModel = new DefaultTreeModel(root); final JTree tree = new JTree(treeModel); Container container = getContentPane(); container.add(tree, BorderLayout.CENTER); tree.addTreeWillExpandListener(new TreeWillExpandListener() { @Override public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException { // TODO Auto-generated method stub TreePath path = event.getPath(); DefaultMutableTreeNode node = (DefaultMutableTreeNode) path .getLastPathComponent(); System.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(); } }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值