假设您有一个JEditorPane,您已经在其中注册了UndoableEditListener和DocumentListener。当您通过在编辑器窗格中键入内容来更改基础文档的内容时,事件的触发顺序是什么?
此外,为了提高效率,我假设调用以下任一方法:
- UndoableEdit.undo()
- UndoableEdit.redo()
不会触发新的UndoableEdit事件,但仍会触发新的DocumentEvent。有人能证实事实是否如此吗?
在尝试了camickr的建议后,似乎这是事件的顺序:
-
在编辑器窗格中键入(包括剪切、复制和粘贴)或更改文档字体/样式时,文档将在触发UndoableEditEvent之前触发DocumentEvent。
-
当调用UndoableEdit.undo()或UndoableEdit.redo()时,只会触发相应的DocumentEvent。