如何创建可以修改的对象副本?

时间:2014-09-13 20:32:22

标签: java swing

我在Swing GUI中有一个对象列表。在按下按钮确认更改之前,用户可以选择一个并编辑对象。对象的状态是通过绑定完成的。

我的问题是;用户应该能够取消编辑,还原更改。原始数据已更改。

我想我需要有一个对象的副本,但我不知道获取一个对象的正确方法。克隆方法,复制构造函数,序列化,......它们似乎都有缺点。

这一定是一个常见的要求,我想知道我应该使用哪种方法?什么是最优雅的方式?

1 个答案:

答案 0 :(得分:2)

可以保留可撤消操作的历史记录,以便可以使用Undos列表。执行actionPerformed会注册恢复状态的反向撤消操作。

这很合适。