Java JTree Node contains(final JTree tree, final TreeNode node)

Here you can find the source of contains(final JTree tree, final TreeNode node)

Description

Tests whether a tree contains a given node.

License

Open Source License

Parameter

Parameter Description
tree The tree to search.
node The node to search for.

Return

True, if the node is part of the tree. False, otherwise.

Declaration

public static boolean contains(final JTree tree, final TreeNode node) 

Method Source Code

//package com.java2s;
/*/* w ww. j a v  a2  s  .  c o  m*/
Copyright 2015 Google Inc. All Rights Reserved.
    
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
    
http://www.apache.org/licenses/LICENSE-2.0
    
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

import javax.swing.JTree;

import javax.swing.tree.TreeNode;

public class Main {
    /**
     * Tests whether a tree contains a given node.
     * 
     * @param tree The tree to search.
     * @param node The node to search for.
     * 
     * @return True, if the node is part of the tree. False, otherwise.
     */
    public static boolean contains(final JTree tree, final TreeNode node) {
        return isAncestor(node, (TreeNode) tree.getModel().getRoot());
    }

    /**
     * Tests whether a given node is an ancestor node of another node.
     * 
     * @param node The node to search for.
     * @param parent The parent node where the search begins.
     * 
     * @return True, if the node is an ancestor of parent. False, otherwise.
     */
    public static boolean isAncestor(final TreeNode node, final TreeNode parent) {
        if (parent == node) {
            return true;
        }

        for (int i = 0; i < parent.getChildCount(); i++) {
            if (isAncestor(node, parent.getChildAt(i))) {
                return true;
            }
        }

        return false;
    }
}

Related

  1. addChildNode(DefaultMutableTreeNode parent, Object child)
  2. addCloneNode(DefaultMutableTreeNode srcNode, DefaultMutableTreeNode root)
  3. ApplyFilter(DefaultMutableTreeNode node, String filter)
  4. cloneTreeNode(DefaultMutableTreeNode srcNode)
  5. collapseSubTree(JTree tree, DefaultMutableTreeNode startNode, DefaultTreeModel model)
  6. copyDMTreeNode(DefaultMutableTreeNode out, DefaultMutableTreeNode in)
  7. createFolderNode(Object userObject)
  8. createSubTreeIfNecessary(TreeModel model, DefaultMutableTreeNode parent, String childName)
  9. expandAll(JTree tree, DefaultMutableTreeNode root)