我在我的 Swing 应用程序中使用UndoManager 。如果在 UndoManager 上调用undo()
、或其他方法redo()
,addEdit()
则最终必须启用或禁用 Undo 和 Redo 按钮。
我找不到对这些方法调用做出反应的方法。似乎没有为此目的实现观察者或监听者模式。
并且每次调用 UndoManager 方法时都更新 Undo 和 Redo 按钮的 enabled 属性……这不是最佳实践吗?!
一个例子:
- Edit > insert -- 向 UndoManager 添加一个 Edit
- Edit > cut -- 向 UndoManager 添加一个 Edit
在这两种情况下,都必须启用撤消按钮(如果尚未启用)。我需要一种方法来应对UndoManager 中的所有这些变化!