0

Netbeans 使用标准UndoManagerAPI 来实现撤消功能。但是既没有标准javax.swing.undo.UndoManagerorg.openide.awt.UndoRedo.Manager没有任何方法可以将状态标记为已保存并检查修改状态。尽管如此,如果您更改文件并按撤消,该文件将被标记为未修改。他们是怎么做到的?如果是 Netbeans RCP 应用程序,我的(非文本)编辑器需要相同的功能。

4

1 回答 1

1

我想通了。当有人保存文件时CloneableEditSupport添加。UndoableEdit当有人从已保存状态撤消或重做到已保存状态时,此编辑会发出信号。它还包装下一次编辑(直到第一个重要的编辑)以拦截从已保存状态的重做和撤消到已保存状态的操作。

UndoableEdit仅当您生成的所有 s 都很重要时,此技巧才有效。

于 2010-03-22T08:20:16.933 回答