Undo auf eine ArrayList implementieren

Status
Nicht offen für weitere Antworten.

Jay1980

Bekanntes Mitglied
Servus,

ich denke das sollte eigentlich sehr einfach gehen, aber ich krieg es nicht hin.

Ich habe Punktemengen-Objekte. Diese haben als Attribut eine ArrayList<Punkt>. Der Nutzer, selbst ein Objekt hat als Attribut 'AktionsManager'. Der 'AktionsManager' hat als Attribut eine ArrayList<Punktemenge>. Undo heisst in meinem Fall, einfach, dass ich mir aus dem AktionsManager die Punktemenge einen Platz vor der aktuellen Punktemenge hole, daraus mir die ArrayList<Punkt> fische und diese dem Nutzer in seine Punktemenge lege. So mein Plan, aber es hat bis jetzt nicht geklappt, mal habe ich es mit einem Iterator versucht, mal mit einem eigenen Zaehler, usw.

Wie macht ihr sowas, gibt es dafür ein Pattern oder nehmt ihr da auch schon de UndoManager von Swing? Seht ihr irgendwo einen Denkfehler bei mir?
 
kann mir kaum vorstellen, dass es dafür ein Pattern gibt,
bzw.das wird dir nicht mehr erklären, als du selber schon zum Thema weißt, da du ja den Fachbegriff Undo verwendest,

jede Aktion muss für sich abgeschlossen sein, und die Informationen bereithalten, um sie zurückdrehen zu können,
irgendwo werden sie gespeichert, und wenn Undo dran ist, dann kümmert sich jemand drum,
fertig

was genau das in Code bedeutet, hängt immer vom Programm ab, bei dir irgendwas mit ner ArrayList
geht nicht gibts nicht,
wenn was nicht klappt müssen genaue Erklärungen + Code + Beispielablauf her
 
Stimmt, das vergass ich zu erwähnen. Es muss nichts rückgängig gemacht werden, sondern da sich alle Aktionen im System auf diese Liste der Punktemengen beziehen, will ich die Punktemenge eins vor der aktuellen Punktemenge nehmen und einfach so tun als ist sie die neue Punktemenge und die ganzen Berechnungen neu anstossen. Mal schauen - ich werde das nochmal durchdenken und mal einen Blick auf das Pattern werfen.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben