2012-08-01 68 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()。如果您在撤消堆栈上将非空白编辑粘贴在一起(通过此方法吸收对方)并进行空白编辑,则下一个撤销将作用于最后一个工作或最后一个空白间隔,这正是您想要的。