Colorer une cellule de jTable sur java

Fermé
NoooR - 22 avril 2008 à 22:08
 ninojo - 16 nov. 2012 à 22:09
Bonjour,
je veut colorer une cellule de jTable sur java sans utiliser le model du table, je veut une methode directe, merci
A voir également:

3 réponses

Utilisateur anonyme
23 avril 2008 à 11:12
Il faut que tu définisses ta propre classe java qui définit l'affichage de tes cellules :
import java.awt.Color;
import java.awt.Component;

import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;

public class MonCellRenderer extends DefaultTableCellRenderer {

	public Component getTableCellRendererComponent(JTable table, Object value,
			boolean isSelected, boolean hasFocus, int row, int column) {
		Component cell = super.getTableCellRendererComponent(table, value,
				isSelected, hasFocus, row, column);

		if (row == 1 && column == 1)
			cell.setBackground(Color.BLUE);
		else
			cell.setBackground(Color.WHITE);
		return cell;
	}
}
Ce code aura pour effet de colorer en bleu la case 1,1 et les autres en blanc.
Ensuite tu dis que ta table utilise ce CellRenderer :
JTable table = new JTable();
table.setDefaultRenderer(Object.class, new MonCellRenderer());
Bonne continuation ;-)
14
j'ai pas bien compris, moi j'ai déjà une table qui est créée, et je veut colorer des cellules bien précises, merci de me errépondre
0
choubaka Messages postés 39409 Date d'inscription jeudi 4 avril 2002 Statut Modérateur Dernière intervention 24 décembre 2024 2 104
13 mai 2011 à 04:47
3
Effectivement très bon exemple, merci !
0
merci
0
Utilisateur anonyme
24 avril 2008 à 10:38
Si ta table est déjà créée alors tu rajoutes juste cette ligne de code :
table.setDefaultRenderer(Object.class, new MonCellRenderer());
à ta table.

La classe MonCellRenderer te permet de définir l'affichage de chaque case de ta table. Dans mon exemple, je teste si la ligne et la colonne valent 1 et dans ce cas je mets la couleur bleu. Dans les autres cas je mets du blanc. A toi de changer ma classe pour l'adapter à tes besoins.
0
qu'est ce que vous voulez dire par la colonne vale 1 et la ligne 1??
j'ai essayé le code ça ma colore toute la ligne..
0
Salut
ce code colorer un seul ligne , je ne sais pas comment résolu ce probleme ?
0