JavaTM 2 Platform
Std. Ed. v1.3

javax.swing.undo
インタフェース UndoableEdit

既知の実装クラスの一覧:
AbstractUndoableEdit

public interface UndoableEdit

実行された編集結果を表すオブジェクトで、元に戻したり再実行したりすることができます。


メソッドの概要
 boolean addEdit(UndoableEdit anEdit)
          UndoableEdit は、可能な場合は anEdit を取り込みます。
 boolean canRedo()
          この操作をまだ再実行できる場合に true を返します。
 boolean canUndo()
          この操作をまだ元に戻せる場合に true を返します。
 void die()
          編集結果に、これ以上使用できないことを通知するために送られます。
 String getPresentationName()
          変更ログなどで使われる、この編集結果の、判読可能な地域に対応した記述を提供します。
 String getRedoPresentationName()
          [再実行 (Redo)] メニュー項目などで使われる、この編集結果の、再実行できる形式の判読可能な地域に対応した記述を提供します。
 String getUndoPresentationName()
          [元に戻す (Undo)] メニュー項目などで使われる、この編集結果の、元に戻せる形式の判読可能な地域に対応した記述を提供します。
 boolean isSignificant()
          この編集結果に意味がない場合、たとえばユーザの選択は維持されるがどのモデル状態も変更されない場合に、false を返します。
 void redo()
          編集結果が元に戻されている場合に、編集結果を再び適用します。
 boolean replaceEdit(UndoableEdit anEdit)
          この UndoableEdit により anEdit が置換される場合は true を返します。
 void undo()
          実行された編集結果を元に戻します。
 

メソッドの詳細

undo

public void undo()
          throws CannotUndoException
実行された編集結果を元に戻します。

canUndo

public boolean canUndo()
この操作をまだ元に戻せる場合に true を返します。

redo

public void redo()
          throws CannotRedoException
編集結果が元に戻されている場合に、編集結果を再び適用します。

canRedo

public boolean canRedo()
この操作をまだ再実行できる場合に true を返します。

die

public void die()
編集結果に、これ以上使用できないことを通知するために送られます。これは、元に戻す操作や再実行の操作が不可能になり、不要になった状態をクリーンアップするとき、たとえば、削除の取り消しができなくなったオブジェクトによって使用されるファイルリソースを削除する場合に使用するフックです。UndoManager は、編集結果の待機を解除する前にこのメソッドを呼び出します。 これは一方向の操作です。undie というメソッドはありません。
関連項目:
CompoundEdit.die()

addEdit

public boolean addEdit(UndoableEdit anEdit)
UndoableEdit は、可能な場合は anEdit を取り込みます。anEdit が取り込み済みの場合は true、そうでない場合は false を返します。

通常、レシーバはすでに UndoManager (または、ほかの UndoableEditListener) のキューに入っており、anEdit をキューに順番に追加するのではなく、それを取り込む機会を与えられます。

true が返されると、それ以降 anEdit は、canUndo() および canRedo() からは false を返し、undo() や redo() には適切な例外をスローします。


replaceEdit

public boolean replaceEdit(UndoableEdit anEdit)
この UndoableEdit により anEdit が置換される場合は true を返します。レシーバは、true を返す前に anEdit の状態を組み込みます。

このメッセージは、addEdit の対極にあります。つまり、anEdit は通常 UndoManager (または、ほかの UndoableEditListener) のキューにすでに入っており、レシーバはそれと置き換えられる機会を与えられます。

true が返されると、それ以降 anEdit は、canUndo() および canRedo() からは false を返し、undo() や redo() には適切な例外をスローします。


isSignificant

public boolean isSignificant()
この編集結果に意味がない場合、たとえばユーザの選択は維持されるがどのモデル状態も変更されない場合に、false を返します。UndoableEditListener は (UndoManager のように) この状態を使って、どの UndoableEdit を Undo/Redo オプションとしてユーザに提示するか、ほかのイベントを元に戻したり再実行したりする場合の副作用として何を実行するかの決定を行うことができます。

getPresentationName

public String getPresentationName()
変更ログなどで使われる、この編集結果の、判読可能な地域に対応した記述を提供します。

getUndoPresentationName

public String getUndoPresentationName()
[元に戻す (Undo)] メニュー項目などで使われる、この編集結果の、元に戻せる形式の判読可能な地域に対応した記述を提供します。一般に、getDescription() から派生します。

getRedoPresentationName

public String getRedoPresentationName()
[再実行 (Redo)] メニュー項目などで使われる、この編集結果の、再実行できる形式の判読可能な地域に対応した記述を提供します。一般に、getPresentationName() から派生します。

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.