0

sqlite に接続されている JTable があります。db テーブルは次のようになります。

 resource_id #primary_key, file, type

私はすでにdbから行を追加することを実装していますが、問題はjTableの行が選択されたときにリソースIDを知る必要があることです(インデックスではありません)。インデックス (または同様のもの) に基づいていない、一意の ID を持つ行を追加する方法はありますか?

現在の解決策では、リソース ID をテーブルの列として追加しますが、それで問題が完全に解決されるわけではありません。

4

1 に答える 1

2

TableDataテーブルのデータを含むクラスを作成します。カスタムTableModelを使用して、JTable のデータを に配置しますVector<TableData>

テーブルからのデータを処理し、 にデータを追加する のaddRow(TableData data)ようなメソッドを作成すると便利な場合があります。TableModelVector

オーバーライドされたメソッドpublic removeRow(int row)では、行がインデックスとして機能するベクター データを削除する必要があります。

public Object getValueAt(int row, int col)JTable にデータを表示するために使用されるオーバーライドされたメソッドは、 Vector<TableData>. TableDataこのメソッドの一部ではない他の列のロジックを配置することもできます。

該当する場合は、必ず fireTableRowsUpdated(row,col) と fireTableCellUpdated(row,col) を呼び出してください。

詳細な参照と選択の処理方法については、このチュートリアルJTableを参照してください。

于 2012-04-09T21:30:27.430 に答える