JMenuItem Rückgängig

Status
Nicht offen für weitere Antworten.

linkinbizkit

Mitglied
Hallo,

muss einen Editor schreibe, für Java, hab aber keine ahnung wi ich die letzten schritte zurücksetzen kann, also rückgängig machen kann. Hatte so an die letzten 5 schritte gedacht ...

kann mir bitte jemand helfen,

Danke ;)
 

Fu3L

Top Contributor
Machste ne LinkedList und speicherst nach jeder Änderung den Text-String ausm Textarea darein und entfernst den zuerst hinzugefügten, wenn die Liste ihre Größe von 5 Elementen überschreitet...
 

Fu3L

Top Contributor
Dann empfehle ich, dass du dich da einliest. :wink:

http://openbook.galileocomputing.de/javainsel7/javainsel_12_003.htm#mj6937070cdee281590b69b83c3dce149d

Die Klassen auf java.util.* vor allem aber die Collections (also LinkedList, ArrayList und co.) sind sehr nützlich. Und der Umgang damit ist auch nciht sooo schwer zu lernen.
Ansonsten könnte mans etwas umständlicher auch mit einem Array lösen, in das du die Strings speicherst, allerdings müsstest du dann die Strings immer einen nach oben schieben, wenn das Array erstma mit 5 Elementen gefüllt ist...

Edit: Vllt ein kleines Beispiel (mir ist beim Schreiben grad eingefallen, dass ein Stack noch besser geeignet ist):

Code:
Stack<String> stack = new Stack<String>();

//Legt einen String oben auf den Stapel
stack.push(aString);
stack.push(aSecondString);

//Nimmt ein Element (das zuletzt hinzugefügte vom Stapel)
String letzteAenderung = stack.pop();
 

linkinbizkit

Mitglied
es wäre ja egal wie viele rückgängig schritte man machen kann, je mehr, desdo besser, hab mir nur gedacht das eine begrenzte anzahl einfacher ist =)
 

kowa

Aktives Mitglied
Man kann auch einen Vector mit Parameter nehmen. Z.B:

Code:
Vector <String> liste = new Vector();

Begrenzt ist besser. Sonst wird zuviel gespeichert, wenn der Benutzer viele Schritte in einem Durchgang macht.
 

Fu3L

Top Contributor
Hab meinen Beitrag grad nochma editiert und ein Beispiel eingefügt, hat leider etwas zu lange gedauert, deswegen poste ichs nochmal^^:

Code:
Stack<String> stack = new Stack<String>();

//Legt einen String oben auf den Stapel
stack.push(aString);
stack.push(aSecondString);

//Nimmt ein Element (das zuletzt hinzugefügte) vom Stapel
String letzteAenderung = stack.pop();

Hab, wie oben schon erwähnt, gemerkt, dass ein Stack (kann man sich wie nen Stapel vorstellen) besser dafür geeignet wäre. Stack erbt aber auch wie LinkedList von List, gehört also auch zu den Collections...
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben