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()
          提供此编辑的可恢复形式的本地化可读描述,例如,用作“恢复”菜单项。
 String getUndoPresentationName()
          提供此编辑的可撤消形式的本地化可读描述,例如,用作“撤消”菜单项。
 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 在其离开编辑队列之前调用它。注意,这是一个单向操作。不存在 "un-die" 方法。

另请参见:
CompoundEdit.die()

addEdit

boolean addEdit(UndoableEdit anEdit)
如果可能,此 UndoableEdit 应接收 anEdit。如果已合并 ,则返回 true,否则返回 false。

通常,接收者已经在 UndoManager(或者其他 UndoableEditListener)的队列中,并且可以合并 anEdit,而不是将它按顺序添加到队列中。

如果返回 true,则从现在开始,anEdit 必须从 canUndocanRedo 返回 false,并且必须对 undoredo 抛出适当的异常。

参数:
anEdit - 要添加的编辑

replaceEdit

boolean replaceEdit(UndoableEdit anEdit)
如果 UndoableEdit 应替换 anEdit,则返回 true。返回 ture 之前 anEdit 的状态。

此消息与 addEdit 相反 -- anEdit 通常已经在 UndoManager(或者其他 UndoableEditListener)的队列中,并且接收者可以替换它。

如果返回 true,则从现在开始,anEdit 必须从 canUndo() 和 canRedo() 返回 false,并且必须对 undo() 或 redo() 抛出适当的异常。


isSignificant

boolean isSignificant()
如果此编辑无效(例如,维护用户选择但又不改变任何模型状态的编辑),则返回 false。在决定将哪些 UndoableEdit 作为撤消/恢复选项提供给用户时,以及将哪些作为撤消或恢复其他事件的负作用执行时,此状态可以由 UndoableEditListener(类似 UndoManager)使用。


getPresentationName

String getPresentationName()
提供适合在诸如更改日志中使用的此编辑的本地化可读描述。


getUndoPresentationName

String getUndoPresentationName()
提供此编辑的可撤消形式的本地化可读描述,例如,用作“撤消”菜单项。通常派生自 getDescription


getRedoPresentationName

String getRedoPresentationName()
提供此编辑的可恢复形式的本地化可读描述,例如,用作“恢复”菜单项。通常派生自 getPresentationName


JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策