Java JTree Expand expandFirstNodeAtLevel(int level, JTree tree)

Here you can find the source of expandFirstNodeAtLevel(int level, JTree tree)

Description

expand First Node At Level

License

BSD License

Declaration

static void expandFirstNodeAtLevel(int level, JTree tree) 

Method Source Code

//package com.java2s;
/*   TouchStone design platform is a software to design protocols for lab        *
 *   experiments. It is published under the terms of a BSD license               *
 *   (see details below)                                                         *
 *   Author: Caroline Appert (appert@lri.fr)                                     *
 *   Copyright (c) 2010 Caroline Appert and INRIA, France.                       *
 *   TouchStone design platform reuses parts of an early version which were      *
 *   programmed by Matthis Gilbert.                                              *
 *********************************************************************************/

import java.util.Enumeration;

import javax.swing.JTree;

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

public class Main {
    static void expandFirstNodeAtLevel(int level, JTree tree) {
        if (level == 0)
            return;
        TreeNode root = (TreeNode) tree.getModel().getRoot();
        // Traverse tree from root
        TreePath rootPath = new TreePath(root);
        TreeNode firstChild = root.getChildAt(0);
        TreePath path = rootPath.pathByAddingChild(firstChild);
        tree.expandPath(path);/*from  w w  w  .j a va 2s  .com*/
        expandNodesAtLevel(level - 1, tree, path);
    }

    static void expandNodesAtLevel(int level, JTree tree, TreePath parent) {
        if (level == 0)
            return;
        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);
                tree.expandPath(path);
                expandNodesAtLevel(level - 1, tree, path);
            }
        }
    }
}

Related

  1. expandAllNodes(JTree tree, int startingIndex, int rowCount)
  2. expandAllNodes(JTree tree, int startingIndex, int rowCount)
  3. expandAllNodes(JTree tree, TreeNode node)
  4. expandByExpansionStateStrings(final JTree tree, final TreePath parent, ArrayList expansionStateStrings)
  5. expandFirstNode(JTree tree)
  6. expandFully(JTree tree, TreePath path)
  7. expandJTreeNode(javax.swing.JTree tree, javax.swing.tree.TreeModel model, Object node, int row, int depth)
  8. expandLevels(JTree tree, int levels, boolean expand)
  9. expandNodesAtLevel(int level, JTree tree, TreePath parent)