Swing アプリケーションでUndoManagerを使用しています。undo()
、redo()
、addEdit()
またはその他のメソッドが UndoManager で呼び出された場合、最終的に [元に戻す] ボタンと [やり直し] ボタンを有効または無効にする必要があります。
これらのメソッド呼び出しに反応する方法が見つかりません。この目的のために実装された Observer または Listener パターンはないようです。
そして、UndoManager メソッドが呼び出されるたびに、元に戻すボタンとやり直しボタンの有効なプロパティを更新します...これはベスト プラクティスではありませんか?!
例:
- Edit > insert -- Edit を UndoManager に追加します。
- Edit > cut -- Edit を UndoManager に追加します。
どちらの場合も、[元に戻す] ボタンを有効にする必要があります (有効になっていない場合)。UndoManager でこれらすべての変更に対応する方法が必要です!