0

したがって、シナリオは、多数の JComboBox をセルとして持つ JTable を持っているということです。JComboBox の要素の選択では、テーブル モデルの構造を変更する必要があります。JComboBox の選択をリッスンし、それに応じて再検証する「出力テーブル」も下にあります。このため、リスナーを再利用できるように、クエリ テーブルのモデルを同じに保つ必要があります。テーブル モデルの構造を変更するにはどうすればよいですか?

DefaultTableModel QueryTableModel = new DefaultTableModel(dropDownUserSelection, resultsListHeadings );     
queryTable.setModel(QueryTableModel);

JComboBox box = new JComboBox(boxModel);      
queryTable.getColumnModel().getColumn(i).setCellEditor(new DefaultCellEditor(box));

すでに他の場所で質問されている質問をしている場合は申し訳ありませんが、探し回ったのですが、探しているものが見つかりませんでした.

ありがとう

4

1 に答える 1

2

にはTableModel、モデルへの変更を親テーブル (またはリッスンしているユーザー) に通知する責任があります。

利用可能な一般的なイベントは、データの変更、セルの更新、行の挿入/削除、および構造の変更です。

「構造が変更されました」は、テーブル モデルの構造 (列の数および/または列名および/または型が変更された) を親テーブルに通知し、それ自体を完全に更新する必要があります。

これを達成する方法はいくつかあります。必要に応じて、既存のテーブル モデルを適宜変更して「構造変更」イベントを発生させるか、新しいテーブル モデルを作成して に適用することができJTableます。

于 2013-02-13T23:57:30.457 に答える