Salut,
j'ai un undoManager qui écoute un objet (StateEditable), l'écoute se fait très bien, et les méthodes undo, redo, canundo et canredo fonctionnent à la perfection (test avec affichage sur la console principale).
le problème est le suivant, j'ai créé une classe qui est sensée exécuter l'annulation par un bouton tout en écoutant l'état du undoManager :
jusque là tout va bien sauf que, lorsque j'affecte cette Action à un JButton (monBouton.addActionListener(monActionDAnnulation)), il n'est pas mis à jour en fonction de l'état de l'action
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 class UndoAction extends AbstractAction implements Observer { public void actionPerformed(java.awt.event.ActionEvent event) { if (undoManager.canUndo()) { undoManager.undo(); } else { System.out.println("Forbidden Operaion"); setEnabled(undoManager.canUndo()); undo.setEnabled(undoManager.canUndo()); } } public void update(Observable o, Object arg) { setEnabled(undoManager.canUndo()); System.out.println("annulation possible : "+undoManager.canUndo()); } }
que dois-je faire ?
merci
Partager