Hallo zusammen,
ich habe derzeit Probleme in einem JTree die Childnodes den Parentnodes korrekt zuzordnen.
Hintergrund:
Ziel:
korrektes Iterieren der Childnodes abhängig davon, ob dessen Value der Parentnode entspricht.
Wenn ja: Node darunter anlegen.
Durchführung:
Die Liste und die HashMap sind zu diesem Zeitpunkt mit den korrekten Werten bereits gefüllt. Es geht mir hier nur um den Aufruf, die Zuordnung und um die Anlage im JTree.
Vielen Dank für eure Hilfe.
Chris
ich habe derzeit Probleme in einem JTree die Childnodes den Parentnodes korrekt zuzordnen.
Hintergrund:
- Die ChildNodes sind in einer HashMap hinterlegt.
- Die ParentNodes sind in einem DefaultListModel<String> hinterlegt.
- Die Zuordnung untereinander kann ich über die HashMap durchführen.
- Der Value der HashMap entspricht dem Wert im ListModel.
- ParentNode1 -> "Fußball"
- ParentNode2 -> "Schwimmen"
- ChildNode 1 -> Key "Schuhe"; Value "Fußball"
- ChildNode 2 -> Key "Pfosten"; Value "Fußball"
- ChildNode 3 -> Key "Badehose"; Value "Schwimmen"
etc....
Ziel:
korrektes Iterieren der Childnodes abhängig davon, ob dessen Value der Parentnode entspricht.
Wenn ja: Node darunter anlegen.
Durchführung:
Die Liste und die HashMap sind zu diesem Zeitpunkt mit den korrekten Werten bereits gefüllt. Es geht mir hier nur um den Aufruf, die Zuordnung und um die Anlage im JTree.
Java:
//Anlage des Urknotens
DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("Urknoten");
//Iterieren der Parentnodes und Anlage (funktioniert!)
for (int n = 0; n < listModel.size(); n++) {
DefaultMutableTreeNode parentNode= new DefaultMutableTreeNode(listModel.get(n));
rootNode.add(parentNode);
//Hier ist das Problem
//Wie kann ich den Value der LinkedHashMap abfragen und
// diesen mit der listNode vergleichen?
// und dynamisch anlegen?
for (int i = 0; i < childList.size(); i++) {
if (!childList.containsValue(parentNode)){
parentNode.add(new DefaultMutableTreeNode(????));
}
}
//Erzeugen des Baumes
DefaultTreeModel treeModel = new DefaultTreeModel(rootNode);
treeModel.reload();
jTree2.setModel(treeModel);
Vielen Dank für eure Hilfe.
Chris