ホームページ >Java >&#&チュートリアル >基礎となるデータが正しいのに、JTable に重複した行が表示されるのはなぜですか?

基礎となるデータが正しいのに、JTable に重複した行が表示されるのはなぜですか?

DDD
DDDオリジナル
2024-12-28 12:47:09628ブラウズ

Why Does My JTable Show Duplicate Rows When the Underlying Data is Correct?

行内の JTable 重複値: 謎の解決

JTable に明らかに重複する値が設定されているという懸念に応え、詳細な調査が行われました。基礎となるデータ モデルが実際に正しいデータを保持していることが明らかになりました。根本原因を理解するために、提供されたコードを詳しく調べてみましょう。

カスタム CollectionDataModel で Populate() メソッドを呼び出すと、データがテーブルにレンダリングされることが期待されます。ただし、データを設定する前にデータが消去されると問題が発生します。これは、data.clear().

という行を通じて行われます。これをさらに説明するために、シナリオ例を考えてみましょう。データ モデルに最初は 2 つの行が含まれており、各行には 3 つの列があるとします。 Populate() を呼び出すと、このデータはクリアされ、テーブルは空のままになります。新しいコレクションが反復処理されると、コレクション内の最後の項目のデータのみがテーブルに反映されます。これは、データ モデルのデータ フィールドがデータの最後の行のみを保持するために発生します。

その結果、JTable のすべての行に同じデータが表示され、値が重複しているように見えます。これを解決するには、populate() メソッドを変更してデータのクリア手順をスキップします。これにより、既存のデータが保存され、新しいデータがテーブルの最後に追加されます。

あるいは、データを設定する前に、既存のデータ フィールドをクリアする代わりに、新しい ArrayList を作成してデータ フィールドに割り当てることを検討できます。こうすることで、JTable で重複値の問題が発生することなく、正しいデータが維持されます。

以上が基礎となるデータが正しいのに、JTable に重複した行が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。