Bonsoir,
j'ai besoin de colorier deux cases de mon tableau
j'ai lu queest la solution...mais comment faireCode:public class MonCellRenderer extends DefaultTableCellRenderer
merci de m'aider
Version imprimable
Bonsoir,
j'ai besoin de colorier deux cases de mon tableau
j'ai lu queest la solution...mais comment faireCode:public class MonCellRenderer extends DefaultTableCellRenderer
merci de m'aider
Salut !
voici un exemple qui utilise une classe nommée "couleur" :
ça devrait faire...Citation:
COULEUR : entrée dans une cellule : clic ou Tab ou JTable.requestfocus..
si la cellule contient g, fond vert - r fond rouge - ni l'un ni l'autre fond blanc
avoir une classe pour mon CellRenderer :
public class couleur 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 ((value != null) && (value.equals("g"))) {
cell.setBackground(Color.GREEN);
}
else {
if ((value != null) && (value.equals("r"))) {
cell.setBackground(Color.RED);
}
else {
cell.setBackground(Color.white);
}
}
return cell;
}
}
OU colorer la cellule 1,1 en rouge:
if(row == 1 && column == 1) {
cell.setBackground(Color.RED);
}
else {
cell.setBackground(Color.WHITE);
}
}
et au démarrage de la frame contenant la table :
jTable1.setDefaultRenderer(Object.class, new Couleur());
PS. Ah zut! j'arrive pas à avoir l'indentation...
pourtant si je colle nom texte dans le bloc-notes, il est ok :cry:
j'ai essayé ce code pour colorer ma premiere case en bleu mais ça ne marche pas,j'ai toute la ligne qui est coloré en roseCode:
1
2
3
4
5
6
7
8
9
10
11
12 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.PINK); return cell;
saut,
pour la 1ère case, ce serait plutôtles index commencent par 0Code:if (row == 0 && column == 0)
:yaisse2:
ça marche...merci Hrech
tes reponses sont toujours à leur place...
merci enormement