0

モデルとしてAbstractTableModelを持つこのJTableがあります。初期コンテンツは、システムのエンティティにジェネリックなArrayListから2次元配列オブジェクトに解析されます。また、モデルでは、isCellEditableはデータの整合性に関してオーバーライドされます。モデルを設定した後、指定したスイングオブジェクトを使用してセルエディターを設定しました。

今の私の問題はそれです。空の行で変更が発生した場合、どうすればテーブルのcolumn[0]を埋めることができますか。また、空の行が更新されると、別の空の行が自動的にJTableに追加されます。

TableModelListenerを使用しますか?JTableのモデルを再度リセットせずに実装するにはどうすればよいですか。

ほとんどの場合、これはMicrosoftAccessに似ています-テーブル/クエリへのフォーム表示。

あなたの応答とコメントは高く評価されます。

ありがとう、シリルH

4

2 に答える 2

1

モデルとしてAbstractTableModelを持つこのJTableがあります。

AbstractTableModelはテーブルモデルではありません。AbstractTableModelを拡張して、実装する必要のあるモデルストレージやその他のメソッドを実装します。

DefaultTableModelを使用します。すでにこれらのメソッドを実装しており、モデル内の行数を動的に増やすことができるaddRow(...)メソッドを提供しています。

TableModelListenerを使用しますか?

それが一つの方法です。セル内のデータが変更されるたびに、行全体をチェックして、行がいっぱいかどうかを確認します。それがテーブルの最後の行である場合は、DefaultTableModelでaddRow(...)メソッドを呼び出すだけで、別の行を追加できます。

于 2011-02-15T15:48:19.800 に答える
0

まず、2次元オブジェクト配列ではなく、POJOのリストで作業します。

ここで私の簡単なサンプルコードの1つを見ることができます: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

ローカルDBにアクセスしていますか?はいの場合、JPAエンティティをテーブルモデルで直接使用できます。

共有DBにアクセスする場合は、3層アーキテクチャを使用することをお勧めします。その場合、PKを公開しないDTOを使用することをお勧めします。

于 2011-02-15T15:18:00.107 に答える