JavaTM 2 Platform
Standard Ed. 5.0

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

既知の実装クラスの一覧:
AbstractDocument.DefaultDocumentEvent, AbstractDocument.ElementEdit, AbstractUndoableEdit, CompoundEdit, DefaultStyledDocument.AttributeUndoableEdit, StateEdit, UndoManager

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

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

例外:
CannotUndoException

canUndo

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


redo

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

例外:
CannotRedoException

canRedo

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


die

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

関連項目:
CompoundEdit.die()

addEdit

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

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

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

パラメータ:
anEdit - 追加される編集結果

replaceEdit

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

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

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


isSignificant

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


getPresentationName

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


getUndoPresentationName

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


getRedoPresentationName

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


JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。