S-JIS[2007-02-25] 変更履歴
ひしだま作のUNDOマネージャーです。→ソース
標準のUNDOマネージャーは1文字ずつUNDO/REDOしますが、この拡張UNDOマネージャーでは(無理矢理 ある程度の)文字列単位でUNDO/REDOします。
テキストフィールドでUNDO/REDOを出来るようにする。
JTextField field = new JTextField();
TextUndoManager um = new TextUndoManager();
um.install(field); …fieldにumを登録する
TextUndoManager#install()の中でコンポーネントのキーイベント等を登録している為、install()メソッドを呼び出すだけでCtrl+Z・Ctrl+Yが使えるようになる。
(アクセラレータキーの方を有効にしたい場合は、TextUndoManager内のイベントハンドラークラスを継承してCtrl+Z・Ctrl+Yの処理を無効にすればよい)
また、文字列の区切りは(おおよそ)カーソルを移動したときにしている。