Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java文本组件获取删除的文本_Java_Swing_Text_Jtextcomponent - Fatal编程技术网

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

从Java文本组件获取删除的文本,java,swing,text,jtextcomponent,Java,Swing,Text,Jtextcomponent,JTextComponent允许您将DocumentListener添加到其文档,它将告诉您何时添加或删除文本,以及更改的偏移量和长度。但是,它不会告诉您更改的文本是什么 这对于文本添加来说不是什么大问题,因为您可以使用偏移量和长度来查找添加的文本。但是,您不能使用它来查找已删除的文本,因为文本已经消失 以前有人遇到过这个问题吗?如何获取从文档中删除的字符串?每次添加文本时,请将文档存储在内存中。每次删除文本时,将文档与上次存储的内容进行比较,以确定删除的内容。将文本的原始版本存储在一个属性中,

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

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


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

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

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

抽象文档
中安装
文档过滤器


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

正是我建议的-只是比您慢一点;-)