2

有可能以JTextArea简单的方式获取更改列表吗?

我的意思是我想检索所有输入/显示的文本,JTextArea例如 ReDo/UnDo。有可能后退,如“CTRL + Z”

4

2 回答 2

6

过去我使用 UndoManager 来管理摆动文本组件的更改。

您可以在这里找到 api:Oracle JavaDoc UndoManager

以及这里的用法示例:Java2s example UndoManager

高温高压


更新

UndoManager扩展了CompoundEdit,它声明了 UndoableEdit 对象的受保护向量“编辑”。

您可以通过编写一个扩展 UndoManager 并提供公共 getter 方法列表 getChangesVecor 的类来访问该 Vector 以列出更改。

于 2013-10-14T08:01:43.647 回答
1

如果您正在更改该区域的文本,您可以尝试以下方法之一:

向 JTextArea 添加某种形式的侦听器,每次文本更改时都将信息作为字符串存储在 arrayList 中,尽管如果您期望的不仅仅是少量更改,此解决方案可能会非常低效。

可能是更好的选择,将信息存储在文本文件/数据库中。这会创建信息的永久记录/日志,然后可以在需要时由未来的程序读取。

祝你好运!

于 2013-10-14T07:55:30.983 回答