pls help!!unable to add new node under existing parent

Joined
Nov 16, 2006
Messages
1
Reaction score
0
Hi ,

I am trying to build a jtree with input from a arraylist.i need to form
a tree as below

OMCR
|--Shara
| |--AN-01
| |---router-1
| |--AN-02
| |---router-2
|---Merc

The nodes in the array list are in child, parent format.

EX:

Child : Parent
Shara : OMCR
AN-01 : Shara
router-1: AN-01
AN-02:Shara
router-2:AN-02

But i am not bale to add the nodes as required.Below is my code.Can
someone pls help me.Im just a week old in java and have not much idea.

DefaultMutableTreeNode root = new DefaultMutableTreeNode("OMCR");
---
---
---
.....................DefaultTreeModel treeModel = new
DefaultTreeModel( root );
tree = new JTree( treeModel );
........................
public void buildTree( DefaultMutableTreeNode root) {

DefaultMutableTreeNode child, parent,pseudoparent ;
HashMap name2TreeNode = new HashMap();
ArrayList matrix1 = new md().md_arraylist();
String lastchild = null;
TreePath path = new TreePath (root.getPath());
String childName;String parentName;

for(int i = 0; i < matrix1.size();i++){

pseudoparent = new DefaultMutableTreeNode(lastchild);
childName = (String)((ArrayList)matrix1.get(i)).get(0) ;
parentName = (String)((ArrayList)matrix1.get(i)).get(1);
child = new DefaultMutableTreeNode(childName);
parent = new DefaultMutableTreeNode(parentName);
System.out.println(" i : " + i +" from DB parent " + parent + "
child " + child );

if (parentName.equals("OMCR") ){
System.out.println("if 1" + " child is : " + child);
if (root.getIndex(child) == -1){
root.add(child);
lastchild = childName;
pseudoparent = child;
path = new TreePath (child.getPath());

}
}else{
if (!(lastchild.equals(null))) {
if (! (lastchild.equals(parentName))) {
path = new TreePath (parent.getPath());
parent =(DefaultMutableTreeNode)
path.getLastPathComponent();
System.out.println("if 2 last child " + lastchild + "
parent" + parent + " child " + child);
//root.add(parent);
parent.add(child);
lastchild =childName;

}else{
//lastchild equals parent

path = new TreePath (pseudoparent.getPath());


parent =(DefaultMutableTreeNode)
path.getLastPathComponent();


System.out.println("else part" + "last child " + lastchild +
" parent" + parent + " child " + child);
parent.add(child);
lastchild = childName;
}
}
}


} //end of for
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,989
Messages
2,570,207
Members
46,782
Latest member
ThomasGex

Latest Threads

Top