0

我有一个连接到 sqlite 的 JTable。db 表如下所示:

 resource_id #primary_key, file, type

I have already implemented adding the rows from db, but the problem is i need to know the resource id when some row in jTable is selected (not the index). 有没有办法添加具有唯一 ID 而不是基于索引(或类似的东西)的行?

当前的解决方案将资源 id 添加为表列,但这并不能完全解决问题。

4

1 回答 1

2

创建一个TableData包含表中数据的类。使用自定义TableModel并将 JTable 的数据放在Vector<TableData>.

您可能会发现创建一种方法很有用,例如addRow(TableData data)在您的方法TableModel中处理表中的数据并将数据添加到Vector.

在覆盖的方法public removeRow(int row)中,您将需要删除行可以用作索引的向量数据。

用于在 JTable 中显示数据的重写方法public Object getValueAt(int row, int col)将只需要从Vector<TableData>. 您还可以将不属于此方法的其他列的逻辑放置TableData在此方法中。

不要忘记在适用的地方调用 fireTableRowsUpdated(row,col) 和 fireTableCellUpdated(row,col)。

如需进一步参考以及如何处理您的选择,JTable请参阅本教程

于 2012-04-09T21:30:27.430 回答