기본 트 리 의 모든 노드 펼 치기

1614 단어 htmlUP
저작권 성명: 전재 할 때 하이퍼링크 형식 으로 글 의 출처 와 작가 정보 및 본 성명 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);
        }
    }

좋은 웹페이지 즐겨찾기