开发者

JTable + TableCellEditor: Buffer changes on data

开发者 https://www.devze.com 2023-03-12 05:26 出处:网络
my questions targets at editable JTables (using TableCellEditor). Some tools (like SQLDeveloper) allow the user to edit multiple records, create new one or delete existing records. The table shows t

my questions targets at editable JTables (using TableCellEditor).

Some tools (like SQLDeveloper) allow the user to edit multiple records, create new one or delete existing records. The table shows the modified records, but the modifications are local only, until the user clicks a "save" button (or "commit" in case of SQLDeveloper). The user can also revert all his changes.

What is the best way t开发者_高级运维o implement this behaviour in a Swing application with a JTable?

I don't think, that a tool like SQLDeveloper creates a copy of records listed in the table. My first idea was to create a TableModel that wraps another TableModels (this allows me to use an arbitrary implementation of TableModel) and stores only the values of the modified cells. This works fine, when the number of rows does not change. But how to handle inserting or removing rows?

Thanks in advance for any hints.

Markus


Inside your TableModel your can register a TableModelListener with the parent TableModel and process the events for insertion or deletion accordingly also within your model.

0

精彩评论

暂无评论...
验证码 换一张
取 消