JTextComponent
允许您向DocumentListener
添加Document
,它会告诉您何时添加或删除文本,以及更改的偏移量和长度。但是,它不会告诉你改变的内容是什么。
这对于文本添加来说不是什么大问题,因为您可以使用偏移量和长度来查找添加的文本。但是,您无法使用它来查找已删除的文本,因为文本已经消失。
之前有没有人遇到这个问题?如何获取从文档中删除的字符串?
答案 0 :(得分:4)
在DocumentFilter
。
AbstractDocument
(顺便说一句:在Swing中,通常最好直接进入模型(在本案例文档中)。)
答案 1 :(得分:0)
每次添加文本时,都会将文档存储在内存中。每次删除文本时,将文档与上次存储的内容进行比较,以确定删除的内容。
答案 2 :(得分:0)
将文本的原始版本存储在属性中,您仍然可以执行“offset-length-trick”来获取已删除的字符串。应该做得很好