2012-04-09 1 views
0

私はsqliteに接続されているJTableを持っています。 dbテーブルは次のようになります。java JTableどのように行を追跡する

resource_id #primary_key, file, type 

私はすでにDBからの行を追加実装しているが、問題は、私はJTableの中にいくつかの行が選択されているリソースID(ないインデックス)を知っておく必要があります。ユニークなIDを持つ行を追加する方法はありますか?インデックスに基づいていませんか?

現在の解決策では、リソースIDを表の列として追加しても問題は完全に解決されません。

+0

_The現在のソリューション参照することができますJTableで選択を取り扱うためには

は、テーブルの列としてリソースIDが追加されますが、それdoesntのは、それが解決しないのはなぜ問題がcompletely._解決します問題は完全に? – Sandro

+2

あなたの 'TableModel'に' resource_id'を置いて、表示しないでください。また、現在のアプローチである[sscce](http://sscce.org/)を含めるように質問を編集してください。 – trashgod

答えて

2

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

TableModeladdRow(TableData data)などのメソッドを作成してテーブルのデータを処理し、Vectorにデータを追加すると便利です。

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

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

fireTableRowsUpdated(row、col)とfireTableCellUpdated(row、col)を呼び出しても忘れないでください。さらに参照し、どのようにあなたがthis tutorial

関連する問題