1

假设您有一个 JEditorPane,您在其中注册了 UndoableEditListener 和 DocumentListener。当您通过在编辑器窗格中键入来更改基础文档的内容时,触发事件的顺序是什么?

此外,为了提高效率,我假设调用以下任一方法:

  • UndoableEdit.undo()
  • UndoableEdit.redo()

...不会触发新的 UndoableEdit 事件,但仍会触发新的 DocumentEvent。谁能确认这是否确实如此?

4

1 回答 1

2

在尝试了 camickr 的建议之后,似乎这是事件的顺序:

  1. 在编辑器窗格中键入(包括剪切、复制和粘贴)或更改文档字体/样式时,文档将在触发 UndoableEditEvent 之前触发 DocumentEvent。

  2. 当调用 UndoableEdit.undo() 或 UndoableEdit.redo() 时,只会触发相应的 DocumentEvent。

于 2013-06-28T21:27:25.557 回答