2011-02-15 48 views
0

我有这个JTable有一个AbstractTableModel作为它的模型。 将初始内容解析为从ArrayList泛型到系统实体的二维数组Object。同样在模型中,isCellEditable在数据完整性方面被覆盖。 设置完模型后,我已经设置了一些单元格编辑器和指定的摆动对象。Java:JTable的自动主键更新

我现在的问题是这样的。一旦空行发生变化,我怎么可能填满表[0]的列。此外,一旦更新发生在空行,另一个空行将自动添加到JTable。

我打算使用TableModelListener吗?我怎么能实现它,而不需要重新设置JTable的模型。

很可能这与Microsoft Access - 表单显示到表/查询类似。

您的回应和评论将不胜感激。

感谢, 西里尔^ h

回答

1

我有这个JTable有一个AbstractTableModel作为它的模型。

这个AbstractTableModel不是表模型。您正在扩展AbstractTableModel以实现模型存储和其他需要实现的方法。

我只是使用DefaultTableModel。它已经实现了这些方法,并提供了一个addRow(...)方法,允许您动态增加模型中的行数。

我打算使用TableModelListener吗?

这是一种方式。每当单元格中的数据发生变化时,检查整行以查看是否已满。如果它是表中的最后一行,那么您可以调用DefaultTableModel上的addRow(...)方法来添加另一行。

0

嗯,首先,不要在2维数组对象的工作,但你的POJO的名单上。

你可以看看这里我简单的示例代码之一: http://puces-samples.svn.sourceforge.net/viewvc/puces-samples/trunk/sessionstate-suite/sessionstate-sample/src/blogspot/puce/sessionstate/sample/ParticipantTableModel.java?revision=2&view=markup

是不是访问本地数据库?如果是的话,那么你可以直接在你的表模型中使用JPA实体。

如果您访问共享数据库,那么您最好使用3层架构。在这种情况下,您可能想使用不公开PK的DTO。

+0

我不知道这件事。你能为我详述一些条款吗? – 2011-02-15 16:12:31

+0

哪些条款?本地/共享数据库? PK?三层架构? JPA? DTO?......?请提出具体问题。 – Puce 2011-02-15 16:15:41