使用 Java 将新节点添加到 Java 树中的现有节点
Add new node to existing node in JavaTree using Java
我已经创建了一个 java 树。现在我想将新节点添加到此 Java 树中的现有节点。这个现有节点可以是树中的任何位置。
我的树节点包含在一个 HashMap 中,每个节点都有键(字符串)和值(双精度)。我知道它的关键和价值。那么,如何添加这个节点来纠正现有节点呢?
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(new NodeInfor(check, 0.45));
nodeReg.put(check, newNode);
?????.add(newNode);
在上面的代码中 ??????我需要用什么?现有节点是我已经 created.But 在这一点上我 select 它是随机的,我只知道它的键和值。
如果我想在添加这个新节点后创建一个单独的另一个 Java树,
tree = new JTree(root); ------------------????
add(tree);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Sub JTrees");
this.pack();
this.setVisible(true);
在上面的代码中,tree = new JTree(root);
我需要为 root
添加什么?
更新:
更多编码部分:
//create root
DefaultMutableTreeNode root = new DefaultMutableTreeNode(new NodeInfor(keys.get(0), values.get(0)));
// create the child nodes
DefaultMutableTreeNode aNode = new DefaultMutableTreeNode(new NodeInfor(keys.get(1), values.get(1)));
DefaultMutableTreeNode bNode = new DefaultMutableTreeNode(new NodeInfor(keys.get(2), values.get(2)));
nodeReg.put(keys.get(0), root);
nodeReg.put(keys.get(1), aNode);
nodeReg.put(keys.get(2), bNode);
root.add(aNode);
root.add(bNode);
-----------
-----------
---------
---------
tree = new JTree(root);
add(tree);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("First JTree");
this.pack();
this.setVisible(true);
---------
----------
----------
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(new NodeInfor(check, 0.45));
nodeReg.put(check, newNode);
?????.add(newNode);-----------------?????????
tree = new JTree(???????????);------------??????
add(tree);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Sub JTree");
this.pack();
this.setVisible(true);
}
我想向 keys.get(1), values.get(1)
添加新节点。那么如何重新添加和显示新树呢?
我希望nodeReg
是map,所以你可以通过调用get方法并传递keys.get(1)
作为key来得到anode
。
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(new NodeInfor(check, 0.45));
nodeReg.put(check, newNode);
DefaultMutableTreeNode node = nodeReg.get(keys.get(1));
node.add(newNode); //add new node to anode
tree = new JTree(root);
现在这棵树将有四个节点
root,aNode,bNode,newNode
我已经创建了一个 java 树。现在我想将新节点添加到此 Java 树中的现有节点。这个现有节点可以是树中的任何位置。
我的树节点包含在一个 HashMap 中,每个节点都有键(字符串)和值(双精度)。我知道它的关键和价值。那么,如何添加这个节点来纠正现有节点呢?
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(new NodeInfor(check, 0.45));
nodeReg.put(check, newNode);
?????.add(newNode);
在上面的代码中 ??????我需要用什么?现有节点是我已经 created.But 在这一点上我 select 它是随机的,我只知道它的键和值。
如果我想在添加这个新节点后创建一个单独的另一个 Java树,
tree = new JTree(root); ------------------????
add(tree);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Sub JTrees");
this.pack();
this.setVisible(true);
在上面的代码中,tree = new JTree(root);
我需要为 root
添加什么?
更新: 更多编码部分:
//create root
DefaultMutableTreeNode root = new DefaultMutableTreeNode(new NodeInfor(keys.get(0), values.get(0)));
// create the child nodes
DefaultMutableTreeNode aNode = new DefaultMutableTreeNode(new NodeInfor(keys.get(1), values.get(1)));
DefaultMutableTreeNode bNode = new DefaultMutableTreeNode(new NodeInfor(keys.get(2), values.get(2)));
nodeReg.put(keys.get(0), root);
nodeReg.put(keys.get(1), aNode);
nodeReg.put(keys.get(2), bNode);
root.add(aNode);
root.add(bNode);
-----------
-----------
---------
---------
tree = new JTree(root);
add(tree);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("First JTree");
this.pack();
this.setVisible(true);
---------
----------
----------
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(new NodeInfor(check, 0.45));
nodeReg.put(check, newNode);
?????.add(newNode);-----------------?????????
tree = new JTree(???????????);------------??????
add(tree);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Sub JTree");
this.pack();
this.setVisible(true);
}
我想向 keys.get(1), values.get(1)
添加新节点。那么如何重新添加和显示新树呢?
我希望nodeReg
是map,所以你可以通过调用get方法并传递keys.get(1)
作为key来得到anode
。
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(new NodeInfor(check, 0.45));
nodeReg.put(check, newNode);
DefaultMutableTreeNode node = nodeReg.get(keys.get(1));
node.add(newNode); //add new node to anode
tree = new JTree(root);
现在这棵树将有四个节点
root,aNode,bNode,newNode