有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

JTextComponent允许您将DocumentListener添加到其Document中,它将告诉您文本是何时添加或删除的,以及更改的偏移量和长度。然而,它不会告诉你更改的文本是什么

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

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


共 (3) 个答案

  1. # 1 楼答案

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

  2. # 2 楼答案

    将文本的原始版本存储在一个属性中,在该属性中仍然可以执行“偏移长度技巧”来获取删除的字符串。应该可以

  3. # 3 楼答案

    DocumentFilter安装到AbstractDocument

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