我使用UndoManager为我的JTextPane添加撤消和重做功能。但是,每次输入文本时都会保存文本,因此它会丢弃最后一个字母。我怎样才能让它回到最后的话?JTextPane撤销并重做整个单词
1
A
回答
2
http://java-sl.com/tip_merge_undo_edits.html这就是这种合并编辑的一个例子。
1
使用UndoableEdit#addEdit()
。如果您在撤消堆栈上将非空白编辑粘贴在一起(通过此方法吸收对方)并进行空白编辑,则下一个撤销将作用于最后一个工作或最后一个空白间隔,这正是您想要的。
相关问题
- 1. ICSharpCode.TextEditor撤销/重做状态
- 2. 撤销/重做+保存
- 3. 在WPF中撤销/重做?
- 4. 申请撤销重做上
- 5. 撤销/重做在JavaScript
- 6. 重置撤销/重做阵列iOS
- 7. 使用链接列表撤销/重做
- 8. 使用MemberwiseClone实现撤销/重做
- 9. C#撤销/重做树木和线程
- 10. 在TextArea中实现撤销/重做
- 11. 在jquery中撤销/重做插件
- 12. 在MVC中实现撤销/重做
- 13. 在Eclipse E4中撤销重做
- 14. InkCanvas的撤销/重做命令堆栈
- 15. 使用撤销和重做JTextArea
- 16. 撤销/重做纪念图案c#
- 17. React Native编程撤销/重做
- 18. 草案JS Modifier.ReplaceText撤销/重做错误
- 19. 撤销重做与实体框架
- 20. 需要一些简单的撤销/重做指南
- 21. 关闭并重新打开项目后保留撤销/重做历史
- 22. 撤销iOS证书撤销
- 23. 如何在JavaScript中处理撤销/重做事件?
- 24. 如何实现TextBox的高效撤销/重做功能
- 25. 撤销,重做,复制,粘贴,剪切与jQuery
- 26. 使用Memento撤销/重做:堆栈,队列还是只是LinkedList?
- 27. Android TextWatcher保存撤销/重做的类似更改的批次
- 28. 如何取消正在进行的撤销/重做操作?
- 29. 在iPhone中实现撤销重做的最佳实践
- 30. 是否可以使用JavascriptMVC实现撤销/重做引擎?
谢谢!顺便说一句,你的网站很棒。 – Jutanium 2012-08-06 15:30:39
一个问题...当用户高亮显示的东西,删除,出现这种情况:'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
只有在用户突出显示并删除文本开头或结尾附近的内容时才会发生。 – Jutanium 2012-08-08 15:44:00