이미 생성 된 Java 트리가 있습니다. 이제이 Java 트리의 기존 노드에 새 노드를 추가하려고합니다. 이 기존 노드는 트리의 어느 위치 에나있을 수 있습니다.Java를 사용하여 JavaTree의 기존 노드에 새 노드 추가
내 트리 노드는 HashMap에 포함되어 있으며 각 노드에는 key (String) 및 value (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 : 더 코딩 부분 : 나는 keys.get(1), values.get(1)
에 새 노드를 추가 할
//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);
}
. 그러면 새 트리를 추가하고 다시 표시하는 방법은 무엇입니까?
당신이 당신의 전체 트리 코드를 게시 할 수 가지는 것인가? –
@ user3747720 더 많은 코딩으로 내 질문을 업데이트했습니다. 내 트리가 커지면 기존 노드에 새 노드를 추가하는 방법 (기존 노드는 중간 또는 트리의 어느 위치 에나있을 수 있습니다. 키와 값을 알 수 있습니다). – Emalka