Java JTree Expand getPaths(JTree tree, boolean expanded)

Here you can find the source of getPaths(JTree tree, boolean expanded)

Description

Permet de convertir un TreeNode en TreePath[]

License

Open Source License

Parameter

Parameter Description
tree a tree
expanded indicate if expanded or not

Return

A tree path array

Declaration

public static TreePath[] getPaths(JTree tree, boolean expanded) 

Method Source Code


//package com.java2s;
//License from project: Open Source License 

import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import javax.swing.JTree;
import javax.swing.tree.TreeNode;
import javax.swing.tree.TreePath;

public class Main {
    /**//from   w w w.java 2s.  c  o m
     * Permet de convertir un TreeNode en TreePath[]
     * @param tree a tree
     * @param expanded indicate if expanded or not
     * @return A tree path array
     */
    public static TreePath[] getPaths(JTree tree, boolean expanded) {
        TreeNode root = (TreeNode) tree.getModel().getRoot();
        List<TreePath> list = new ArrayList<>();
        getPaths(tree, new TreePath(root), expanded, list);

        return (TreePath[]) list.toArray(new TreePath[list.size()]);
    }

    /**
     * Alimente les tableaux
     * @param tree a tree
     * @param parent a tree path
     * @param expanded indicate if expanded or not
     * @param list a list of tree path
     */
    private static void getPaths(JTree tree, TreePath parent, boolean expanded, List<TreePath> list) {
        if (expanded && !tree.isVisible(parent)) {
            return;
        }
        list.add(parent);
        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);
                getPaths(tree, path, expanded, list);
            }
        }
    }
}

Related

  1. expandTreePaths(JTree tree, Enumeration expandPaths)
  2. fullExpand(JTree tree, TreePath parentPath, int nExpansions)
  3. getExpandedPaths(JTree tree)
  4. getExpandedPaths(JTree tree)
  5. getLastExpandedNodes(final JTree tree)
  6. getTreeSelectedExpandedIcon()
  7. isTreePathExpandable(TreeModel treeModel, TreePath treePath)
  8. makeTreeAutoExpandable(JTree tree)
  9. searchUnexpandedPath(JTree tree, TreePath path, int index, TreeNode node, TreePath[] result, boolean compareOnlyLabels)