Maison > Java > javaDidacticiel > Pourquoi ma JTable affiche-t-elle des lignes en double lorsque les données sous-jacentes sont correctes ?

Pourquoi ma JTable affiche-t-elle des lignes en double lorsque les données sous-jacentes sont correctes ?

DDD
Libérer: 2024-12-28 12:47:09
original
617 Les gens l'ont consulté

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

Valeurs en double de JTable dans une rangée : résoudre le mystère

En réponse à l'inquiétude concernant les valeurs apparemment en double qui peuplent une JTable, une enquête détaillée a a révélé que le modèle de données sous-jacent contient effectivement les données correctes. Pour comprendre la cause première, examinons le code fourni.

Lors de l'appel de la méthode populate() dans le CollectionDataModel personnalisé, les données devraient être restituées dans le tableau. Cependant, le problème survient lorsque les données sont effacées avant de les remplir. Cela se fait via la ligne data.clear().

Pour illustrer cela davantage, considérons un exemple de scénario. Supposons que le modèle de données contienne initialement deux lignes, chaque ligne comportant trois colonnes. Lors de l'appel de populate(), ces données sont effacées, laissant la table vide. Désormais, au fur et à mesure que la nouvelle collection est itérée, seules les données du dernier élément de la collection sont reflétées dans le tableau. Cela se produit parce que le champ de données du modèle de données ne conserve que la dernière ligne de données.

En conséquence, chaque ligne de la JTable affiche les mêmes données, donnant l'illusion de valeurs en double. Pour résoudre ce problème, on pourrait modifier la méthode populate() pour ignorer l'étape d'effacement des données, préservant ainsi les données existantes et ajoutant les nouvelles données à la fin du tableau.

Alternativement, s'il est impératif d'effacer le data avant de remplir, on pourrait envisager de créer une nouvelle ArrayList et de l'attribuer au champ de données au lieu d'effacer le champ de données existant. De cette façon, les données correctes seront conservées sans provoquer de problèmes de valeurs en double dans la JTable.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal