hallo!
ich blicks nicht mehr!
mit klassen bilde ich eine hirarchische datenstruktur ab. (getChildren(), getParent() usw.)
mit einem JTree kann diese per drag'n'drop bearbeitet werden. (tut zur allgemeinen mechanik aber nichts zur sache, das D'n'D funktioniert ohne probleme)
um einen eintrag einem anderen parent unterzuordnen, gehe ich folgendermassen vor:
- eintrag beim alten parent entfernen (removeChild())
- eintrag mit einem verweis auf den neuen parent versehen
- eintrag im neuen parent hinzufügen (addChild())
wenn ich jetzt meinen daten-"baum" anschaue, wurden alle änderungen gemacht. der eintrag beim alten parent gelöscht, der neue parent gesetzt und der eintrag entsprechend beim neuen parent hinzugefügt.
greift jetzt das JTree-Model auf die datenstruktur zu (über das entsprechende nodeRemoved()- bzw. nodeInserted()-event), sieht da noch alles aus wie vor der mutation.
meine datenstruktur liegt in einem zentralen applicationdataholder, welcher die daten über ein singleton zur verfügung stellt. könnte da der haken liegen?
fehler im tree-model resp. bei der eventauslösung sind ausgeschlossen. 1:1 von einem anderen (funktionierenden) projekt kopiert.
vielen dank für alle anregungen
cheers
m@nu
ich blicks nicht mehr!
mit klassen bilde ich eine hirarchische datenstruktur ab. (getChildren(), getParent() usw.)
mit einem JTree kann diese per drag'n'drop bearbeitet werden. (tut zur allgemeinen mechanik aber nichts zur sache, das D'n'D funktioniert ohne probleme)
um einen eintrag einem anderen parent unterzuordnen, gehe ich folgendermassen vor:
- eintrag beim alten parent entfernen (removeChild())
- eintrag mit einem verweis auf den neuen parent versehen
- eintrag im neuen parent hinzufügen (addChild())
wenn ich jetzt meinen daten-"baum" anschaue, wurden alle änderungen gemacht. der eintrag beim alten parent gelöscht, der neue parent gesetzt und der eintrag entsprechend beim neuen parent hinzugefügt.
greift jetzt das JTree-Model auf die datenstruktur zu (über das entsprechende nodeRemoved()- bzw. nodeInserted()-event), sieht da noch alles aus wie vor der mutation.
meine datenstruktur liegt in einem zentralen applicationdataholder, welcher die daten über ein singleton zur verfügung stellt. könnte da der haken liegen?
fehler im tree-model resp. bei der eventauslösung sind ausgeschlossen. 1:1 von einem anderen (funktionierenden) projekt kopiert.
vielen dank für alle anregungen
cheers
m@nu