我有这个JTable有一个AbstractTableModel作为它的模型。 初始内容被解析为二维数组Object,从ArrayList泛型到系统的Entity。同样在模型中,isCellEditable在数据完整性方面被覆盖。 设置模型后,我已经设置了一些带有指定swing对象的单元格编辑器。
我现在的问题是。一旦发生空行的更改,我怎么能填充表的列[0]。此外,一旦空行发生更新,另一个空行将自动添加到JTable。
我要使用TableModelListener吗?如何在不重置JTable模型的情况下实现它。
这很可能类似于Microsoft Access - 表格/查询的表单。
您的回复和评论将受到高度赞赏。
谢谢, Cyril H
答案 0 :(得分:1)
我有这个JTable有一个AbstractTableModel作为它的模型。
AbstractTableModel不是表模型。您正在扩展AbstractTableModel以实现模型存储和其他需要实现的方法。
我只想使用DefaultTableModel。它已经实现了这些方法,它提供了一个addRow(...)方法,允许您动态增加模型中的行数。
我打算使用TableModelListener吗?
这是一种方式。每次单元格中的数据发生变化时,都会检查整行,看它是否已满。如果它是表中的最后一行,那么您可以在DefaultTableModel上调用addRow(...)方法来添加另一行。
答案 1 :(得分:0)
首先,不要在二维对象数组上工作,而是在POJO列表上工作。
您是否正在访问本地数据库?如果是,那么您可以直接在表模型中使用JPA实体。
如果您访问共享数据库,那么最好采用3层架构。在这种情况下,您可能希望使用不公开PK的DTO。