分享

让JTree所有节点展开和关闭的类 - 我爱看火影的日志 - 网易博客

 鬼迷心窍 2010-06-30

package com.gc.util;

import java.util.Enumeration;

import javax.swing.JTree;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;

public class OpenTree {

//外部调用此方法,如果bo为true展开所有节点,为false关闭所有节点。

 public static void expandTree(JTree tree,boolean bo) {
  TreeNode root = (TreeNode) tree.getModel().getRoot();
  expandAll(tree, new TreePath(root), bo);   
 }

 


 private static 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);      
   } 
 }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多