dammex
Messages postés31Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention14 février 2017
-
27 juil. 2010 à 00:47
dammex
Messages postés31Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention14 février 2017
-
19 août 2010 à 23:40
Bonjour,
je souhaite afficher d'une couleur rouge tout une ligne d'un Jtable.
Pour cela j'ai dans une classe écrit la méthode suivante:
public static void ColorMyTable(JTable table) {
DefaultTableCellRenderer ColorTable = new DefaultTableCellRenderer();
ColorTable.setBackground(Color.red);
for (int i = 0 ; i < table.getRowCount() ; i++) {
int HardDiskTOTAL = Integer.parseInt((String) table.getValueAt(i,6));
int HardDiskFREE = Integer.parseInt((String) table.getValueAt(i,7));
if (HardDiskFREE < HardDiskTOTAL) {
table.getColumnModel().getColumn(i).setCellRenderer(ColorTable);
}
}
}
Comme vous le voyez, je colore en réalité toutes les colonnes et non une seule ligne. J'ai cherché sur de nombreux forums mais je n'ai pas réussi à trouver l'équivalent afin de colorier une ligne.
La ligne fausse est:
table.getColumnModel().getColumn(i).setCellRenderer(ColorTable);
j'ai une idée mais j'ai pas réussi à la mettre en place. L'idée est de se "mettre" à l'index de ligne désirée et ensuite de colorier le fond avec un setBackground... mais pour le moment, çà ne fonctionne pas.
Si quelqu'un a une idée...
PS: je fais appel à cette méthode dans une autre classe en écrivant:
MyPersonalTable.ColorMyTable(Results.jTable1); où MyPersonalTable est le nom de ma classe.
dammex
Messages postés31Date d'inscriptionjeudi 22 juillet 2010StatutMembreDernière intervention14 février 20171 28 juil. 2010 à 18:26
Personne n'a d'idée?
J'ai continué à chercher de mon côté comment modifier cette ligne pour assigner le colonnes et non les lignes mais je n'ai pas encore réussi à trouver quelque chose qui fonctionne.