JTable + TableCellEditor:缓冲区对数据的更改

时间:2011-06-10 15:02:04

标签: swing jtable tablecelleditor

我的问题针对可编辑的JTable(使用TableCellEditor)。

某些工具(如SQLDeveloper)允许用户编辑多个记录,创建新记录或删除现有记录。该表显示了已修改的记录,但修改只是本地的,直到用户单击“保存”按钮(或SQLDeveloper的情况下为“commit”)。用户还可以还原所有更改。

在带有JTable的Swing应用程序中实现此行为的最佳方法是什么?

我不认为像SQLDeveloper这样的工具会创建表中列出的记录副本。我的第一个想法是创建一个包装另一个TableModel的TableModel(这允许我使用TableModel的任意实现)并仅存储修改过的单元格的值。当行数没有改变时,这很好。但是如何处理插入或删除行?

提前感谢任何提示。

马库斯

1 个答案:

答案 0 :(得分:1)

TableModel内,您可以向父TableModelListener注册TableModel,并在模型中处理相应的插入或删除事件。