sgbetchedji
Messages postés6Date d'inscriptionmercredi 29 avril 2009StatutMembreDernière intervention 8 novembre 2011
-
30 oct. 2011 à 18:12
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020
-
9 nov. 2011 à 07:56
Bonjour, Voici mon code pour colorier les cellules d'une Jtable, je voudrais que lorsqu'il rencontre une cellule dont la valeur est de type activity, qu'il me colore les cellules suivants avec la même couleur, le nombre de cellules correspondant à la durée de l'activité. Mais depuis je n'y arrive pas, j'ai lu tous les tutos mais rien, pouvez vous m'aider svp; merci
public class Renderer extends DefaultTableCellRenderer{
int i=0, duree=0, numrow,numcol;
public void obtenir()
{
}
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);
JLabel label=(JLabel)cell;
table.getColumnModel().getColumn(0).setPreferredWidth(30);
cell.setBackground(Color.magenta);
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 30 oct. 2011 à 22:15
Bonjour,
Pour cela, il faut que tu récupères le numéro de ligne sur lequel la valeur est de type activity. Tu peux stocker cette valeur dans une liste en paramètre du renderer.
Et dans le code de ton renderer tu colores toutes les cellules qui sont dans cette liste.
sgbetchedji
Messages postés6Date d'inscriptionmercredi 29 avril 2009StatutMembreDernière intervention 8 novembre 2011 31 oct. 2011 à 10:41
Merci pour la reponse mais j'ai pas bien compris la partie "stocker cette valeur dans une liste en paramètre du renderer", pourriez vous s'il vous plaît m'expliquer un peu plus. Merci
sgbetchedji
Messages postés6Date d'inscriptionmercredi 29 avril 2009StatutMembreDernière intervention 8 novembre 2011 31 oct. 2011 à 11:47
Bonjour, j'ai essayé d'appliquer votre solution mais j'ai un autre probleme, la liste contient plus de cellules que ceux que j'ai ajouté, c'est à dire toutes les autres cellules;
ArrayList<Component> list= new ArrayList<Component>();
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column)
{