java/UndoManager

java public class UndoManager extends CompoundEdit implements UndoableEditListener

  • UndoManagerはUndoableEditのリストを管理し、編集結果を選択して、undoしたりredoしたりする。なんのこちゃ。以下UMと略す。
  • UMに編集結果を追加するのは
    • addEditで直接追加
    • UndoableEditListenerをサポトするBeanにUMを追加
      UndoManager uma=new UndoManager();
      JTextField tf=...
      tf.getDocument().addUndoableEditListener(uma);
      おおよそ documentをとってきてumaをaddすれば、umaが編集状況をリストしていく という仕組みのようだ
      uma.undo(), uma.redo()でundo,redoができるようになるらし。

constructor

  • UndoManager()

method

  • public int getLimit()
    • undoの最大数。<0で制限なし。
  • public void discardAllEdits()
    • UMを空にして、核編集結果の真光寺にdieメッセージを送る。
  • protected void trimForLimit()
  • protected void trimEdit(int form, int to)
  • public void setLimit(int l)
  • protected UndoableEdit editToBeUndone()
    • undoが呼ばれたときに次に戻すEditを返す
  • protected UndoableEdit editToBeRedone()
    • redoが呼ばれたときに次に再実行するEditを返す
  • protected void undoTo(UndoableEdit edit) throws CannotUndoException
    • 次のEditからeditまでの全ての変更を取り消し、インデックスを更新する
  • protected void redoTo(UndoableEdit edit) throws CannotRedoException
  • public void undoOrRedo() throws CannotRedoException, CannotUndoException
  • public boolean canUndoOrRedo()
  • public void undo() throws CannotUndoException
  • public boolean canUndo()
  • public void redo() throws CannotRedoException
  • public boolean canRedo()
  • public boolean addEdit(UndoableEdit anEdit)
  • public void end()
    • このUMを 標準のCompoundEditにする。これまでの編集結果は削除される。
  • public String getUndoOrRedoPresentationName()
    • getUndoPresentationNameまたはgetRedoPresentationNameを返す
  • public String getUndoPresentationName()
  • public String getRedoPresentationName()
  • public void undoableEditPappened(UndoableEditEvent e)
    • UndoableEditListenerメソッド。e.getEdit()を使ってaddEditを呼び出す。
  • public String toString()