JavaEditor mit Undo Funktion

Rudolf

Bekanntes Mitglied
Hi,

wir haben die Aufgabe nen TextEditor zu proggen, der das Command Pattern verwendet und eine Undo() Methode unterstützt. Mir gehts um die expliziet nur um den Command Pattern, das Grobe ist bereits gemacht, aber wie genau soll die Undo Methode arbeiten, vll gibts hier ein paar Tipps.
 

Rudolf

Bekanntes Mitglied
Das ist mir bereits alles bekannt,

habe sogar das Command Pattern von Headfirst bereits implementiert.

Wie kann ich mein Programm hier veröffentlichen?

Mein Problem ist nun, dass ich nicht weiß wie ich MultiUndos hinkriege. Mein Undo geht nur soweit wie mein letzter ausgeführter Befehl. Aber was passiert, wenn mehrere Befehle hintereinander ausgeführt werden. Das Undo muss sich also merken welches Befehl in welcher Reihenfolge ausgeführt wurde und dazu die entsprechenden undo Methoden der jeweiligen CommandMethoden ausführen.

Wie kriege ich das am besten hin?
 
G

Gastredner

Gast
Wie kann ich mein Programm hier veröffentlichen?
Als fertiges Programm oder als Quellcode? Im ersten Falle das .jar als Anhang hochladen, im letzteren den Quellcode in [noparse]
Java:
[/noparse]-Tags posten.

Mein Problem ist nun, dass ich nicht weiß wie ich MultiUndos hinkriege. Mein Undo geht nur soweit wie mein letzter ausgeführter Befehl. Aber was passiert, wenn mehrere Befehle hintereinander ausgeführt werden. Das Undo muss sich also merken welches Befehl in welcher Reihenfolge ausgeführt wurde und dazu die entsprechenden undo Methoden der jeweiligen CommandMethoden ausführen.

Wie kriege ich das am besten hin?
Mit einem Stack? Einfach jede Änderung bzw. jeden Schritt auf den Stack legen und beim Undo-Aufruf die jeweils oberste Aktion rückgängig machen.
 

Oben