Rechercher : dans
Par :

Colorer une cellule de jTable sur java

Dernière réponse le 13 mai 2009 à 03:02:16 NoooR, le 22 avr 2008 à 22:08:31 
 Signaler ce message aux modérateurs

Bonjour,
je veut colorer une cellule de jTable sur java sans utiliser le model du table, je veut une methode directe, merci

Configuration: Windows XP
Firefox 2.0.0.12

Meilleures réponses pour « colorer une cellule de jTable sur java » dans :
[Excel] Colorer des cellules sur conditions VoirIl existe dans Excel des fonctions très pratiques mais peu connues et peu utilisées. Exemple : vous souhaitez qu'une cellule se colore automatiquement en rouge (ou autre mise en forme de police, de bordure, de trame) selon une condition : un...
Tableur - La sélection des cellules VoirSélection de cellules Le tableur est un formidable outil pour manipuler des données. Ainsi, pour pouvoir manipuler les données il est nécessaire de disposer d'outils permettant de sélectionner rapidement toutes les cellules dont on a...

1

=[Cvrd]=Tassin, le 23 avr 2008 à 11:12:29

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 ;-) -- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

2

NoooR, le 23 avr 2008 à 13:30:43

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

Répondre à NoooR

3

=[Cvrd]=Tassin, le 24 avr 2008 à 10:38:35

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. -- Alex pour vous servir --

-- N'oubliez pas de mettre vos sujets en "Résolu" lorsque vous avez la réponse ;-) --

Répondre à =[Cvrd]=Tassin

4

 zangalni, le 13 mai 2009 à 03:02:16

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..

Répondre à zangalni