2009-02-26 69 views
4

A JTextComponent允许您将DocumentListener添加到Document,它会告诉您何时添加或删除文本以及更改的偏移量和长度。但是,它不会告诉你更改的内容是什么。从Java文本组件中获取已删除的文本

这对文本添加没什么问题,因为您可以使用偏移量和长度来查找添加的文本。但是,您无法使用它来查找已删除的文本,因为文本已经消失。

有没有人遇到过这个问题?你怎么能得到从文档中删除的字符串?

回答

4

AbstractDocument中安装DocumentFilter

(BTW:在Swing它通常是最好的直来直去的模式(这种情况下文档中)。)

0

每次添加文本时,都将文档存储在内存中。每次删除文本时,将文档与上次存储的内容进行比较,以确定删除的内容。

+0

正是我建议 - 比你慢只是有点;-) – Gambrinus 2009-02-26 15:19:19

0

将文本的原始版本存储在属性中,您仍然可以通过“偏移长度技巧”来获取已删除的字符串。应该很好