JTree的展开和收起操作
JTree的展开操作,经常用经常忘,经常有人问.快贴一个在这里吧.
其实只要是展开节点,方法是
tree.expandPath
简单易用,TreePath随时可以用TreeNode中得到,下面是一个递归全展或者全收的方法.
private void expandAll(JTree tree, TreePath parent, boolean expand) { TreeNode node = (TreeNode) parent.getLastPathComponent(); if (node.getChildCount() > 0) { for (Enumeration e = node.children(); e.hasMoreElements();) { TreeNode n = (TreeNode) e.nextElement(); TreePath path = parent.pathByAddingChild(n); expandAll(tree, path, expand); } } if (expand) { tree.expandPath(parent); } else { tree.collapsePath(parent); } }
还有就是,如果要隐藏根节点,只需要setRootVisibile(boolean)即可.似乎是这么写来的,我的记忆力一向很模糊.
分享到: | |
没有评论