ホームページ >Java >&#&チュートリアル >JTable 行が重複するのはなぜですか? `fireTableStructureChanged()` を使用して修正するにはどうすればよいですか?
JTable 行の重複: 根本原因への対処
この場合、JTable 行の重複値の問題は、不適切な実装に起因しています。カスタム内の fireTableDataChanged() メソッドのCollectionDataModel.
fireTableDataChanged() の正しい実装
fireTableDataChanged() メソッドは、基になるデータが変更されたことを JTable に通知し、テーブルの表示の更新をトリガーする必要があります。提供されたコード スニペットでは、このメソッドは実装されていないように見えます。
これを正しく実装するには、populate() メソッドの最後に次のコードを追加します。
fireTableStructureChanged();
説明
fireTableStructureChanged() メソッドは、列数やデータ構造などを示します。行、変更されました。これにより、テーブルが列と行を正しく再構築するようになります。
サンプル コード
これは、fireTableStructureChanged() メソッドが実装された修正コードです。
public void populate(Collection c) { data.clear(); for(Item i : c.getItems()) { ArrayList<String> row = new ArrayList<String>(); for(Property p : i.getProperties().values()) { row.add(p.toString()); } data.add(row); } fireTableStructureChanged(); }
fireTableStructureChanged() メソッドを正しく実装すると、新しいデータが更新されたときにテーブルが正しく更新されます。値が入力され、重複する行が表示されるのを防ぎます。
以上がJTable 行が重複するのはなぜですか? `fireTableStructureChanged()` を使用して修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。