Step1- 먼저 첫 번째 Jtree를 만듭니다.자바에서 두 개의 JTree를 균등하게/할당하십시오.
2 단계 -이 Jtree를 사용하여 JTree 집합을 만들고 계산 된 가중치를 사용하여 HashMap에 추가했습니다.
3 단계 -이 HashMap에서 하나의 JTree를 선택합니다.
4 단계 이제 2 단계에서 3 단계까지 반복하고 싶습니다.
나중에 다시 시도하십시오. 미래의 절차를 위해 선택한 트리 만 가져 가고 싶습니다. 하지만 마지막 HashMap을 사용하여 수확 절차에 트리를 추가합니다. 같은 트리를 업데이트하고 HashMap에 추가했습니다.
public class JavaTree extends JFrame {
public static HashMap<String, DefaultMutableTreeNode> nodeReg = new HashMap<String, DefaultMutableTreeNode>();
public static void main(String[] args) {
}
public JTree method1() {
HashMap<JTree, Double> value = new HashMap<JTree, Double>();
//create tree root
DefaultMutableTreeNode Treeroot = new DefaultMutableTreeNode(new NodeInfor3(rootNode,x1));
//create tree
JTree firstTree = new JTree(Treeroot);
add(firstTree);
// create the child nodes
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(new NodeInfor3(nodeName1, x2));
DefaultMutableTreeNode node2 = new DefaultMutableTreeNode(new NodeInfor3(nodeName2), x3));
nodeReg.put(rootNode, Treeroot);
nodeReg.put(nodeName1), node1);
nodeReg.put(nodeName2, node2);
Treeroot.add(node1);
Treeroot.add(node2);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("First JTree");
this.pack();
this.setVisible(true);
for (Map.Entry m1 : newNodeSet.entrySet()) {-----forloop X
for (Map.Entry m3 : TargetNodes.entrySet()) { -----forloop Y
DefaultMutableTreeNode targetNode = nodeReg.get(nodeName3);
targetNode.add(newAddingNode);
tree2 = new JTree(Treeroot);
add(tree2);
//ADD TO CALCULATION
WeghtOfSubTrees.put(tree2, calculated value));
}
//find maximum value with tree-using WeightOfSubTrees HashMap
I take selected Jtree name as a SELECTEDTREE
-------------------------------------------------------------------------
//THEN I WANT TO REPEAT. BUT WANT TO TAKE SELECTED TREE TO ABOVE PROCEDURE. IT TOOK FINAL VALUE OF HASHmAP.
tree2.removeAll(); -------------------------------???????
tree2 =SELECTEDTREE;-----------------------???????
-------------------------------------------------------------------------
WeghtOfSubTrees.clear();
}
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("New tree");
this.pack();
this.setVisible(true);
}
}
위의 코드에서 편집 지점이 포함되었습니다. 그것이 복잡한 코드일지도 모른다. 나는 새로운 Jtree를 첫 번째 Jtree에 할당하려고한다고 생각한다. 나는 그것을 위해 다음 코드 부분을 사용했다.
tree2.removeAll();
tree2 =SELECTEDTREE;
그러나 작동하지 않습니다. 고토 for loop X
전에 먼저 만든 트리에 새 트리를 할당하는 방법은 무엇입니까?
정말 코드와 혼동 스럽습니다. 작업 코드를 게시 할 수 있습니까? – Beniton
답장을 보내 주셔서 감사합니다. 하지만 제 코드는 아주 큽니다. 그 때문에 요약으로 추가합니다. 그 일에 대해 미안합니다. 내가 마지막으로 언급했듯이, 하나의 Jtree와 다른 Jtree를 동일하게 만드는 방법이 있습니까? – Emalka
Ok 트리 자체를 저장하는 대신 모델을 저장하고 선택한 트리에 모델을 전달할 수 있습니다. – Beniton