Bonjour, et d'avance, merci de votre attention.

Je suis face à un problème qui me prends la tête depuis quelques temps déja.

J'ai un petit programme qui permet de gérer,de modifier un texte (ordre croissant decroissant etc) et surtout de faire un undo.
(Je ne met pas les try pour pas coller de grosses lignes de code):

Voila mes paramètres :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
  private List<String>   liste;
  private Stack<List<String>> state;
  this.state = new Stack<List<String>>();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
  public void save(List<String>liste){
      state.push(liste);
  }
ma méthode undo :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
    public List<String> undo(){
      return state.pop();
  }


Lorsque j'appuie sur le bouton Annuler je voudrai copier le dernier état de mon stack state pour remplacer ma liste en cours (affichée dans un champs de texte) via la commande Champtexte.setText(liste.toString());.

Ma question est donc la suivante: je veux recopier ce qui pop en lieu et place de liste. J'ai essayé pas mal de trucs mais j'ai l'impression que je passe a chaque fois par la référence étant donné que mon toString me renvoie [].

On m'as dit de passer par le pattern memento mais je n y comprends pas grand chose :/.

Merci