Java JTree Expand isTreePathExpandable(TreeModel treeModel, TreePath treePath)

Here you can find the source of isTreePathExpandable(TreeModel treeModel, TreePath treePath)

Description

is Tree Path Expandable

License

CDDL license

Declaration

public static boolean isTreePathExpandable(TreeModel treeModel, TreePath treePath) 

Method Source Code

//package com.java2s;
/*// www . ja  v  a2  s.  com
 * The contents of this file are subject to the terms of the Common Development
 * and Distribution License (the License). You may not use this file except in
 * compliance with the License.
 * 
 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
 * or http://www.netbeans.org/cddl.txt.
 * 
 * When distributing Covered Code, include this CDDL Header Notice in each file
 * and include the License file at http://www.netbeans.org/cddl.txt.
 * If applicable, add the following below the CDDL Header, with the fields
 * enclosed by brackets [] replaced by your own identifying information:
 * "Portions Copyrighted [year] [name of copyright owner]"
 * 
 * The Original Software is NetBeans. The Initial Developer of the Original
 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2007 Sun
 * Microsystems, Inc. All Rights Reserved.
 */

import javax.swing.tree.TreeModel;
import javax.swing.tree.TreePath;

public class Main {
    public static boolean isTreePathExpandable(TreeModel treeModel, TreePath treePath) {
        if (treeModel == null)
            return false;
        if (treePath == null)
            return false;

        return !treeModel.isLeaf(treePath.getLastPathComponent()) && isTreePathInModel(treeModel, treePath);
    }

    public static boolean isTreePathInModel(TreeModel treeModel, TreePath treePath) {
        if (treeModel == null)
            return false;
        if (treePath == null)
            return false;

        TreePath parentPath = treePath.getParentPath();

        if (parentPath == null) {
            return treeModel.getRoot() == treePath.getLastPathComponent();
        }

        if (!isTreePathInModel(treeModel, parentPath))
            return false;

        Object node = treePath.getLastPathComponent();
        Object parent = parentPath.getLastPathComponent();

        return treeModel.getIndexOfChild(parent, node) >= 0;
    }
}

Related

  1. getExpandedPaths(JTree tree)
  2. getExpandedPaths(JTree tree)
  3. getLastExpandedNodes(final JTree tree)
  4. getPaths(JTree tree, boolean expanded)
  5. getTreeSelectedExpandedIcon()
  6. makeTreeAutoExpandable(JTree tree)
  7. searchUnexpandedPath(JTree tree, TreePath path, int index, TreeNode node, TreePath[] result, boolean compareOnlyLabels)
  8. setExpandedIcon(JTree tree, Icon icon)
  9. setExpandedOnEdt(JTree tree, TreePath path, boolean expanded)