Step1-まず、最初のJtreeを作成します。Javaで2つのJTreeを等しい/割り当てます。
ステップ2 - このJtreeを使用して、JTreeのセットを作成し、計算された重量値でHashMapに追加しました。
ステップ3 - 次に、このHashMapから1つのJTreeを選択します。
ステップ4 - これをステップ2からステップ3まで繰り返します。
私は今後の手順のために選択したツリーのみを取りたいと思っています。 しかし、最終的なHashMapをTreeをReaping手続きに追加します。同じツリーを更新し、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