|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object javax.swing.undo.AbstractUndoableEdit javax.swing.undo.CompoundEdit javax.swing.undo.UndoManager
public class UndoManager
可以充当 UndoableEditListener
的 CompoundEdit
的具体子类,并合并来自各种源的 UndoableEditEvents
,并且一次执行一个撤消或恢复操作。
与 AbstractUndoableEdit
和 CompoundEdit
不同,此类的公共方法是同步的,并且从多线程进行调用时应是安全的。这应让 UndoManager
成为可撤消 JavaBeans 设置的便捷编组。
警告:此类的已序列化对象与以后的 Swing 版本不兼容。当前的序列化支持适用于短期存储或运行相同 Swing 版本的应用程序之间的 RMI。从 1.4 版本开始,已在 java.beans
包中添加了支持所有 JavaBeansTM 长期存储的功能。请参见 XMLEncoder
。
字段摘要 |
---|
从类 javax.swing.undo.CompoundEdit 继承的字段 |
---|
edits |
从类 javax.swing.undo.AbstractUndoableEdit 继承的字段 |
---|
RedoName, UndoName |
构造方法摘要 | |
---|---|
UndoManager()
|
方法摘要 | |
---|---|
boolean |
addEdit(UndoableEdit anEdit)
如果是 inProgress,则在 indexOfNextAdd 位置插入 anEdit,并移除 indexOfNextAdd 位置以及其后的所有原有编辑。 |
boolean |
canRedo()
重写以保持常用语义:如果 redo 操作现在能够成功,则返回 true,否则返回 false |
boolean |
canUndo()
重写以保持常用语义:如果 undo 操作现在能够成功,则返回 true,否则返回 false |
boolean |
canUndoOrRedo()
如果调用 undoOrRedo 将执行正确的操作,则返回 true。 |
void |
discardAllEdits()
清空撤消管理器,向进程中的每个编辑发送一个终止消息。 |
protected UndoableEdit |
editToBeRedone()
如果调用 redo,则返回下一个要恢复的有效编辑。 |
protected UndoableEdit |
editToBeUndone()
如果调用 undo,则返回下一个要撤消的有效编辑。 |
void |
end()
将 end() 发送到 UndoManager 可将其变为一个原有的(已结束)纯 CompoundEdit。 |
int |
getLimit()
返回此 UndoManager 将保持的最大编辑数。 |
String |
getRedoPresentationName()
如果为 inProgress,则返回有效编辑的 getRedoPresentationName,在调用 redo() 时将对该编辑执行恢复操作。 |
String |
getUndoOrRedoPresentationName()
返回在 undo 和 redo 之间切换的命令的适当名称。 |
String |
getUndoPresentationName()
如果为 inProgress,则返回有效编辑的 getUndoPresentationName,在调用 undo() 时将对该编辑执行撤消操作。 |
void |
redo()
如果此 UndoManager 为 inProgress ,则恢复 indexOfNextAdd 位置或其后的最后有效 UndoableEdit ,以及它之前的所有无效编辑。 |
protected void |
redoTo(UndoableEdit edit)
恢复要编辑的 indexOfNextAdd 的所有更改。 |
void |
setLimit(int l)
设置此 UndoManager 要保持的编辑的最大数量。 |
String |
toString()
返回显示和标识此对象属性的字符串。 |
protected void |
trimEdits(int from,
int to)
通知给定范围(包含)内的编辑终止,并将它们从编辑中移除。 |
protected void |
trimForLimit()
以 indexOfNextAdd 为中心,将已排队编辑的数量减少到限制的大小范围内。 |
void |
undo()
如果此 UndoManager 为 inProgress,则撤消 indexOfNextAdd 之前的最后有效 UndoableEdit,以及它之后的所有无效编辑。 |
void |
undoableEditHappened(UndoableEditEvent e)
由此 UndoManager 侦听的 UndoabledEdit 源调用。 |
void |
undoOrRedo()
正确执行 undo 或 redo 操作。 |
protected void |
undoTo(UndoableEdit edit)
撤消要编辑的 indexOfNextAdd 的所有更改。 |
从类 javax.swing.undo.CompoundEdit 继承的方法 |
---|
die, getPresentationName, isInProgress, isSignificant, lastEdit |
从类 javax.swing.undo.AbstractUndoableEdit 继承的方法 |
---|
replaceEdit |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public UndoManager()
方法详细信息 |
---|
public int getLimit()
addEdit(javax.swing.undo.UndoableEdit)
,
setLimit(int)
public void discardAllEdits()
protected void trimForLimit()
protected void trimEdits(int from, int to)
public void setLimit(int l)
addEdit(javax.swing.undo.UndoableEdit)
,
getLimit()
protected UndoableEdit editToBeUndone()
protected UndoableEdit editToBeRedone()
protected void undoTo(UndoableEdit edit) throws CannotUndoException
CannotUndoException
protected void redoTo(UndoableEdit edit) throws CannotRedoException
CannotRedoException
public void undoOrRedo() throws CannotRedoException, CannotUndoException
CannotRedoException
CannotUndoException
canUndoOrRedo()
,
getUndoOrRedoPresentationName()
public boolean canUndoOrRedo()
undoOrRedo()
public void undo() throws CannotUndoException
如果此 UndoManager 不是 inProgress,则忽略 indexOfNextAdd,并调用超类的例程。
UndoableEdit
中的 undo
CompoundEdit
中的 undo
CannotUndoException
- 如果 canUndo
返回 false
CompoundEdit.end()
public boolean canUndo()
UndoableEdit
中的 canUndo
CompoundEdit
中的 canUndo
alive
并且 hasBeenDone
为 true
,则返回 trueCompoundEdit.isInProgress()
public void redo() throws CannotRedoException
UndoManager
为 inProgress
,则恢复 indexOfNextAdd
位置或其后的最后有效 UndoableEdit
,以及它之前的所有无效编辑。相应地更新 indexOfNextAdd
。
如果此 UndoManager 不是 inProgress
,则忽略 indexOfNextAdd
,并调用超类的例程。
UndoableEdit
中的 redo
CompoundEdit
中的 redo
CannotRedoException
- 如果 canRedo
返回 false
CompoundEdit.end()
public boolean canRedo()
UndoableEdit
中的 canRedo
CompoundEdit
中的 canRedo
alive
并且 hasBeenDone
为 false
,则返回 true
CompoundEdit.isInProgress()
public boolean addEdit(UndoableEdit anEdit)
如果不是 inProgress
,则它充当一个 CompoundEdit
。
UndoableEdit
中的 addEdit
CompoundEdit
中的 addEdit
anEdit
- 要添加的编辑
inProgress
,则返回 true;否则返回 falseCompoundEdit.end()
,
CompoundEdit.addEdit(javax.swing.undo.UndoableEdit)
public void end()
调用超类的 end() 方法(使 inProgress 为 false),然后将 die() 发送到 indexOfNextAdd 处及其之外的不可到达的编辑,顺序与添加这些编辑的顺序相反。
CompoundEdit
中的 end
CompoundEdit.end()
public String getUndoOrRedoPresentationName()
public String getUndoPresentationName()
如果不是 inProgress,则它充当一个 CompoundEdit
UndoableEdit
中的 getUndoPresentationName
CompoundEdit
中的 getUndoPresentationName
AbstractUndoableEdit.undoText
键的值,如果 getPresentationName
不为 "",则后跟一个空格和 getPresentationName
,否则,单独返回默认值。undo()
,
CompoundEdit.getUndoPresentationName()
public String getRedoPresentationName()
如果不是 inProgress,则充当一个 CompoundEdit
UndoableEdit
中的 getRedoPresentationName
CompoundEdit
中的 getRedoPresentationName
AbstractUndoableEdit.redoText
键的值,如果 getPresentationName
不为 "",则后跟一个空格和 getPresentationName
,否则,只返回默认值。redo()
,
CompoundEdit.getUndoPresentationName()
public void undoableEditHappened(UndoableEditEvent e)
UndoableEditListener
中的 undoableEditHappened
addEdit(javax.swing.undo.UndoableEdit)
public String toString()
CompoundEdit
中的 toString
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。