nodes aus JTree mit ID versehen - XMLEncoder

Proggo

Grünschnabel
Hallo, ich benötige mal eure Hilfe. Ich nutze den XMLEncoder/Decoder um einen JTree zu serialisieren bzw. zu deserialisieren. Jetzt möchte ich aber jeden Knoten/Blatt eine ID verpassen die auch mit serialisiert bzw. deserialisiert werden soll, damit ich zusätzlich dem JTree sprich den nodes noch Wörter aus einer CSV zuordnen kann.

Folgenden Code benutze ich um einen neuen node hinzuzufügen. Wie ich aber noch eine ID hinzufüge, die nicht im JTree sichtbar sein darf und dann auch serialisiert werden soll, davon habe ich keinen blassen Schimmer :(

Code:
    void addNode(JTree jtree) {
    	this.jtree=jtree;
        TreePath selectedPath = this.jtree.getSelectionPath();

        if (selectedPath == null) {
            return;
        }
        DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode) selectedPath.getLastPathComponent();
        DefaultMutableTreeNode newChild = new DefaultMutableTreeNode("neuer Knoten " + countNew++);
        ((DefaultTreeModel) this.jtree.getModel()).insertNodeInto(newChild, selectedNode, selectedNode.getChildCount());

        TreePath newPath = selectedPath.pathByAddingChild(newChild);
        this.jtree.setSelectionPath(newPath);
        this.jtree.startEditingAtPath(newPath);

    }
 
Moin und willkommen im Forum ^^

Ich selbst habe noch nicht mit Trees gearbeitet (da ich auf der Arbeit bin, kann ich das auch nich mal eben so ausprobieren), aber ich schätze du wirst nicht drumrum kommen dir eigene Objekte zu basteln und ein solches deinen Nodes zu übergeben. Da DefaultMutableTreeNode die selbstdefinierten Objekte zu kapseln, wäre das auch kein Thema und bei deinen eigenen Objekten kannst du dich austoben, wie du lustig bist. Für die Darstellung im Tree wird dann vermutlich die toString()-Methode verwendet (ist nur eine Spekulation), also könntest du das dann auch entsprechend implementieren.

Im Moment übergibst du den Nodes lediglich einen String, da kannst du also keine ID zuweisen.
 
Hallo, ich habe hier im Forum schon ein sehr schönes Beispiel gefunden, worauf ich auch schon geantwortet habe, da ich den tree mittels XMLEncoder nicht serialisieren kann.
 
Zurück