2017-05-03 1 views
0

je aa JTable qui récupérer et les données montrent la base de donnéesComment Gras ou la couleur d'un JTable Row qui contiennent specfic texte à l'exécution en Java

Les données montrent est la suivante dans JTable enter image description here

dans le image ci-dessus dans la 2ème colonne il y a beaucoup TOTAL et dans la 1ère colonne Grand Total. Ma question est que je veux faire la Colonne qui contient TOTAL et Grand Total colonne toute la ligne doit être en gras ou de toute couleur de l'arrière-plan pour le rendre plus spécifique.

S'il vous plaît Aide

+5

Vous avez besoin d'un 'TableCellRenderer' capable de le faire. Les moyens par lesquels vous l'implémenteriez finalement dépendraient de la structure des données, car chaque cellule devrait être capable de déterminer si elle devrait être en gras ou non en fonction du statut des deux premières colonnes – MadProgrammer

+1

https: // docs.oracle.com/javase/tutorial/uiswing/components/table.html#renderer –

+0

pour convertir la valeur String de la colonne (view peut renvoyer un Object) et en utilisant prepareRenderer – mKorbel

Répondre

1

il ressemble actuellement à vos magasins de table toutes les données sous forme de données chaîne pour la suggestion de créer un moteur de rendu personnalisé fonctionnerait.

Cependant, il n'est pas logique d'utiliser des chaînes pour toutes les données. Je vois beaucoup de colonnes avec des nombres, à la fois Integer et Double. Dans ces colonnes, les données doivent être stockées en tant que Nombre entier et Double, de sorte qu'un rendu approprié peut être utilisé pour afficher les données.

Dans ce cas, vous devez créer plusieurs rendus pour mettre en surbrillance les lignes de données.

Pour une approche alternative, vous pouvez personnaliser la méthode prepareRenderer(...) de la table pour effectuer la mise en évidence des lignes. Cette méthode ne se soucie pas des données, de sorte que la logique n'est requise que dans un seul endroit.

Consultez Table Row Rendering pour des exemples pratiques de cette approche.