所有类


javax.swing.undo
类 UndoManager

java.lang.Object
  继承者 javax.swing.undo.AbstractUndoableEdit
      继承者 javax.swing.undo.CompoundEdit
          继承者 javax.swing.undo.UndoManager
所有已实现的接口:
Serializable, EventListener, UndoableEditListener, UndoableEdit

public class UndoManager
   
   
   
   
extends CompoundEdit
implements UndoableEditListener

可以充当 UndoableEditListenerCompoundEdit 的具体子类,并合并来自各种源的 UndoableEditEvents,并且一次执行一个撤消或恢复操作。 与 AbstractUndoableEditCompoundEdit不同,此类的公共方法是同步的,并且从多线程进行调用时应是安全的。这应让 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()
          如果此 UndoManagerinProgress,则恢复 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
 

构造方法详细信息

UndoManager

public UndoManager()
方法详细信息

getLimit

public int getLimit()
返回此 UndoManager 将保持的最大编辑数。默认值为 100。

另请参见:
addEdit(javax.swing.undo.UndoableEdit), setLimit(int)

discardAllEdits

public void discardAllEdits()
清空撤消管理器,向进程中的每个编辑发送一个终止消息。


trimForLimit

protected void trimForLimit()
以 indexOfNextAdd 为中心,将已排队编辑的数量减少到限制的大小范围内。


trimEdits

protected void trimEdits(int from,
                         int to)
通知给定范围(包含)内的编辑终止,并将它们从编辑中移除。from > to 不执行任何操作。


setLimit

public void setLimit(int l)
设置此 UndoManager 要保持的编辑的最大数量。如果需要丢弃编辑以缩小限制,则会通知这些编辑终止,顺序与添加它们的顺序相反。

另请参见:
addEdit(javax.swing.undo.UndoableEdit), getLimit()

editToBeUndone

protected UndoableEdit editToBeUndone()
如果调用 undo,则返回下一个要撤消的有效编辑。可以返回 null


editToBeRedone

protected UndoableEdit editToBeRedone()
如果调用 redo,则返回下一个要恢复的有效编辑。可以返回 null

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部