JTree Node löschen

  • Themenstarter Themenstarter Gast
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Gast

Gast
Hallo,

wenn ich eine JTree druchlaufen möchte und in diesem JTree mehrere Nodes herauslöschen möchte, wie kann ich da vorgehen,

ich habe mir eine Enumeration vom JTree erzeugt, mit diesem Enumerator kann ich ja den Tree durchlaufen, aber ich kann keine Nodes löschen,

Mein Problem ist momentan, dass ich eben mit der Enumeration den JTree durchlaufe und mit removeFromParent den Node lösche, nach dem löschen läuft die Enumeration aber nicht mehr weiter bzw. bekomme ich eine Fehlermeldung (NoParentInvocation oder so).

Wie kann man das vernünftig machen?

Dankeschön,
Beste Grüße

Code:
Enumeration<DefaultMutableTreeNode> itTree = ((DefaultMutableTreeNode)((DefaultTreeModel)fTree.getModel()).getRoot()).preorderEnumeration();
            while(itTree.hasMoreElements()) {
                DefaultMutableTreeNode next = itTree.nextElement(); 
                if(next.toString().equals("Identifikation") && next.getFirstLeaf().toString().equals(idToDelete)) {      
                     System.out.println(idToDelete + ", " + next.getParent() + "-------------------------------------------------- ist es dann aus? -------------------------------------------------------------------");                   
                     DefaultMutableTreeNode n = (DefaultMutableTreeNode) next.getParent();
                    ((DefaultMutableTreeNode)next.getParent()).removeFromParent();
                    }
                }
 
was kann ich machen, hat jemand eine Idee, das einfach zu realisieren?
 
nach 2 Minuten Studium deines Quellcodes, habe ich aufgegeben verstehen zu wollen was da eigentlich passiert, aber:
machs rekursiv und lösche mit model.removeNodeFromParent. Enumeration und gleichzeitig nodes löschen oder hinzufügen ist nicht gut.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben