版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://momy.blogbus.com/logs/44587623.html
/** * 完全展开一个JTree * @param tree JTree */ public static void expandTree(JTree tree) { TreeNode root = (TreeNode) tree.getModel().getRoot(); expandAll(tree, new TreePath(root), true); } /** * 完全展开或关闭一个树,用于递规执行 * @param tree JTree * @param parent 父节点 * @param expand 为true则表示展开树,否则为关闭整棵树 */ private static void expandAll(JTree tree, TreePath parent, boolean expand) { // Traverse children 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); } } // Expansion or collapse must be done bottom-up if (expand) { tree.expandPath(parent); } else { tree.collapsePath(parent); } }