Java JTree Node addChildNode(DefaultMutableTreeNode parent, Object child)

Here you can find the source of addChildNode(DefaultMutableTreeNode parent, Object child)

Description

add Child Node

License

Open Source License

Declaration

public static DefaultMutableTreeNode addChildNode(DefaultMutableTreeNode parent, Object child) 

Method Source Code

//package com.java2s;
/*//ww w .  ja va  2s.  c o m
Open Auto Trading : A fully automatic equities trading platform with machine learning capabilities
Copyright (C) 2015 AnyObject Ltd.
    
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
    
This program 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 General Public License for more details.
    
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.util.HashSet;

import javax.swing.tree.DefaultMutableTreeNode;

public class Main {
    public static DefaultMutableTreeNode addChildNode(DefaultMutableTreeNode parent, Object child) {
        HashSet hashSet = new HashSet();
        DefaultMutableTreeNode childNode;

        for (int i = 0; i < parent.getChildCount(); i++) {
            hashSet.add(parent.getChildAt(i).toString());
        }

        if (hashSet.add(child.toString())) {
            childNode = new DefaultMutableTreeNode(child);
            parent.insert(childNode, parent.getChildCount());
        } else {
            int i = 0;
            do {
                childNode = (DefaultMutableTreeNode) parent.getChildAt(i++);
                //System.out.println("childNode: " + childNode);
            } while (!childNode.toString().equals(child.toString()));
        }

        return childNode;
    }
}

Related

  1. addCloneNode(DefaultMutableTreeNode srcNode, DefaultMutableTreeNode root)
  2. ApplyFilter(DefaultMutableTreeNode node, String filter)
  3. cloneTreeNode(DefaultMutableTreeNode srcNode)
  4. collapseSubTree(JTree tree, DefaultMutableTreeNode startNode, DefaultTreeModel model)