2012-08-01 86 views

回答

2

http://java-sl.com/tip_merge_undo_edits.html這就是這種合併編輯的一個例子。

+0

謝謝!順便說一句,你的網站很棒。 – Jutanium 2012-08-06 15:30:39

+0

一個問題...當用戶高亮顯示的東西,刪除,出現這種情況:'javax.swing.text.BadLocationException:無效的位置 \t在javax.swing.text.GapContent.getChars(GapContent.java:172) \t在javax.swing.text.GapContent.getString(GapContent.java:150) \t在javax.swing.text.AbstractDocument.getText(AbstractDocument.java:757) \t在UndoManager.undoableEditHappened(UndoManager.java:24)'和等等。 – Jutanium 2012-08-08 15:25:09

+0

只有在用戶突出顯示並刪除文本開頭或結尾附近的內容時纔會發生。 – Jutanium 2012-08-08 15:44:00

1

使用UndoableEdit#addEdit()。如果您在撤消堆棧上將非空白編輯粘貼在一起(通過此方法吸收對方)並進行空白編輯,則下一個撤銷將作用於最後一個工作或最後一個空白間隔,這正是您想要的。