从JTextArea获取更改的完整历史记录

时间:2013-10-14 07:46:16

标签: java swing jtextarea

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

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

2 个答案:

答案 0 :(得分:6)

在我使用UndoManager管理swing文本组件更改的日子里。

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

此处的用法示例:Java2s example UndoManager

HTH


<强>更新

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

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

答案 1 :(得分:1)

如果您正在更改区域文本后,可以尝试以下操作之一:

向JTextArea添加某种形式的侦听器,每次文本更改时都将信息存储为arrayList中的String,尽管如果您期望任何更改,只有少量更改,此解决方案可能效率极低。

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

祝你好运!