我已經創建了一個Java樹。現在我想將新節點添加到此Java樹中的現有節點。此現有節點可以是樹中的任何位置。使用Java在JavaTree的現有節點中添加新節點
我的樹節點包含在HashMap中,每個節點都有鍵(String)和值(Double)。我知道它的關鍵和價值。那麼,如何添加此節點來糾正現有節點?
DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(new NodeInfor(check, 0.45));
nodeReg.put(check, newNode);
?????.add(newNode);
在上述代碼爲?????我需要使用什麼?現有的節點是我已經創建的。但在這一點上,我隨機選擇它,我只知道它的關鍵和價值。
如果我想加入這個新的節點之後創建一個單獨的另一個JavaTree,
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
什麼?
UPDATE: 更多編碼部分:
//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)
。那麼如何再次添加和顯示新的樹?
您可以發佈您滿樹的代碼? –
@ user3747720我用更多的編碼更新了我的問題。如果我的樹變得很大,如何將新節點添加到現有節點(現有節點可以在樹的中間或任何地方,我知道它的關鍵和價值)。 – Emalka