0

我有这个 JTable 有一个 AbstractTableModel 作为它的模型。初始内容从ArrayList泛型解析为系统的Entity的二维数组Object。同样在模型中,isCellEditable 在数据完整性方面被覆盖。设置模型后,我设置了一些带有指定摆动对象的单元格编辑器。

我现在的问题是。一旦发生空行更改,我如何填写表格的列 [0]。此外,一旦空行发生更新,另一个空行将自动添加到 JTable。

我要使用 TableModelListener 吗?我怎么能在不重新重置 JTable 的模型的情况下实现它。

这很可能类似于 Microsoft Access - 表格/查询的表单演示。

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

谢谢,西里尔 H

4

2 回答 2

1

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

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

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

我要使用 TableModelListener 吗?

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

于 2011-02-15T15:48:19.800 回答
0

好吧,首先,不要在二维对象数组上工作,而是在你的 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。

于 2011-02-15T15:18:00.107 回答