【问题标题】:Getting the removed text from a Java text component从 Java 文本组件中获取删除的文本
【发布时间】:2009-02-26 15:14:36
【问题描述】:

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

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

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

【问题讨论】:

    标签: java swing text jtextcomponent


    【解决方案1】:

    DocumentFilter 安装到AbstractDocument

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 完全按照我的建议 - 只是比你慢一点 ;-)
      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2015-07-30
        • 1970-01-01
        • 2011-08-13
        • 2023-01-20
        • 2012-02-15
        • 2015-09-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多