从 Java 文本组件中获取删除的文本

发布于 2024-07-15 00:19:04 字数 273 浏览 12 评论 0原文

JTextComponent 允许您向其 Document 添加一个 DocumentListener,它会告诉您何时添加或删除文本,以及文本的偏移量和长度。改变。 但是,它不会告诉您更改的文本是什么。

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

以前有人遇到过这个问题吗? 如何获取从文档中删除的字符串?

A JTextComponent allows you to add a DocumentListener to its Document, which will tell you when text was added or removed, and the offset and length of the change. It will not, however, tell you what the text of the change was.

This is not much of a problem for text addition, as you can use the offset and the length to find the added text. However, you can't use it to find the deleted text, as the text is already gone.

Has anyone run into this problem before? How can you get the string that was deleted from a document?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

她如夕阳 2024-07-22 00:19:04

DocumentFilter 安装到 AbstractDocument 中。

(顺便说一句:在 Swing 中,通常最好直接进入模型(在本例中为文档)。)

Install a DocumentFilter into the AbstractDocument.

(BTW: In Swing it's usually best to go straight to the model (in this case document).)

暖树树初阳… 2024-07-22 00:19:04

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

Every time text is added, store the document in memory. Every time text is removed, compare the document to what was last stored to determine what was removed.

吲‖鸣 2024-07-22 00:19:04

将文本的原始版本存储在属性中,您仍然可以在其中执行“offset-length-trick”来获取删除的字符串。 应该做得很好

store the original version of the text in a property where you can still do the "offset-length-trick" to get the removed string. should do fine

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文