Hallo Killkrog! Was is erreichen will, habe ich im sechsten Beitrag versucht zu erklären. Falls da was unverständlich ist, dann frage mich
Ich brauche halt für jeden Knoten eine ID, die sich nicht verändert. Nehmen wir an, der JTree ist leer, es gibt also nur einen "Allgemeinen Grundknoten". Fügt man jetzt einen Knoten hinzu, dann brauch dieser natürlich auch gleich eine ID, welche sich auch nicht mehr ändern darf. Wenn ich dann während des Progammlaufs der Kategorie ein Wort zuordne, dann landet das Wort inkl. ID in der CSV. Wenn ich z.B. beim nächsten Programmstart den Knoten öffne, dann werden die zugehörigen Wörter aus der CSV geladen, was wiederum über die ID läuft.
@ soares
Ich selbst habe mich bisher garnicht um die ID gekümmert. Ich habe mir nur die XML angeschaut und beobachtet wie sich sich verändert, nachdem ich Knoten im JTree gelöscht hatte. Ich wollte den Encoder etwas verstehen.
Ursprünglich:
....
<void method="add">
<object class="javax.swing.tree.DefaultMutableTreeNode" id="
DefaultMutableTreeNode7">
<void property="userObject">
<string>qqq</string>
</void>
<void method="add">
<object class="javax.swing.tree.DefaultMutableTreeNode" id="DefaultMutableTreeNode8">
<void property="userObject">
<string>qqqqqqqq</string>
</void>
<void method="add">
<object class="javax.swing.tree.DefaultMutableTreeNode">
<void property="userObject">
<string>qqqqqqqqqqqqqqqqqq</string>
</void>
....
Und nachdem ich einen Knoten über "qqq" gelöscht hatte...
....
<object class="javax.swing.tree.DefaultMutableTreeNode" id="
DefaultMutableTreeNode6">
<void property="userObject">
<string>qqq</string>
</void>
<void method="add">
<object class="javax.swing.tree.DefaultMutableTreeNode" id="DefaultMutableTreeNode7">
<void property="userObject">
<string>qqqqqqqq</string>
</void>
<void method="add">
<object class="javax.swing.tree.DefaultMutableTreeNode">
<void property="userObject">
<string>qqqqqqqqqqqqqqqqqq</string>
</void>
....