Java JTree Node findTreeNodesWithLowestLevel(List multipleTreeNodes)

Here you can find the source of findTreeNodesWithLowestLevel(List multipleTreeNodes)

Description

Given a list of treeNodes, return those which are at the same level.

License

LGPL

Parameter

Parameter Description
multipleTreeNodes a parameter

Return

list of nodes at the lowest level

Declaration

public static List findTreeNodesWithLowestLevel(List multipleTreeNodes) 

Method Source Code

//package com.java2s;
/*/*from ww  w .j a va2 s  .c om*/
Strandz LGPL - an API that matches the user to the data.
Copyright (C) 2007 Chris Murphy
    
Strandz LGPL is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
    
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.
    
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
    
    
The authors can be contacted via www.strandz.org
*/

import javax.swing.tree.DefaultMutableTreeNode;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Main {
    /**
     * Given a list of treeNodes, return those which are at the same level. May be
     * many at the same level
     *
     * @param multipleTreeNodes
     * @return list of nodes at the lowest level
     */
    public static List findTreeNodesWithLowestLevel(List multipleTreeNodes) {
        List result = new ArrayList();
        int lowest = 99;
        for (Iterator iter = multipleTreeNodes.iterator(); iter.hasNext();) {
            DefaultMutableTreeNode treeNode = (DefaultMutableTreeNode) iter.next();
            int level = treeNode.getLevel();
            if (level < lowest) {
                lowest = level;
                result.clear();
                result.add(treeNode);
            } else if (level == lowest) {
                result.add(treeNode);
            }
        }
        return result;
    }
}

Related

  1. expandPathsAfterChange(JTree tree, Hashtable state, DefaultMutableTreeNode root)
  2. expandTree(final JTree tree, final DefaultMutableTreeNode node)
  3. expandTreeRecurser(JTree tree, DefaultMutableTreeNode node)
  4. export(File file, DefaultMutableTreeNode node)
  5. findFirstTreeNodeMatchUserObject(DefaultMutableTreeNode treeNode, Object userObject)
  6. findTreeNodeWithXmlPath(DefaultMutableTreeNode treeNode, String nodeXmlPath)
  7. getAllChildCount(TreeNode node)
  8. getAllTreeNodes(TreeModel model, int startLevel, Class clazz, DefaultMutableTreeNode root)
  9. getAllUserObject(TreeNode node, Set userObjectSet)