假设您有一个JEditorPane,同时已向其注册UndoableEditListener和DocumentListener。通过在编辑器窗格中键入来更改基础文档的内容时,触发事件的顺序是什么?
另外,为了效率起见,我假设调用以下两种方法之一:
UndoableEdit.undo()
UndoableEdit.redo()
...将不会触发新的UndoableEdit事件,但仍会触发新的DocumentEvent。任何人都可以确认是否确实如此吗?
最佳答案
尝试了camickr的建议之后,看来这是事件的顺序:
在编辑器窗格中键入内容(包括剪切,复制和粘贴)或更改文档字体/样式时,文档将在触发UndoableEditEvent之前触发DocumentEvent。
当调用UndoableEdit.undo()或UndoableEdit.redo()时,将仅触发相应的DocumentEvent。