couleurs ds 1 JTable [DefaultTableCellRenderer] - Java - Programmation
Marsh Posté le 21-02-2005 à 16:57:43
Je pense que tu te complique la vie avec ta Hashtable et tout le reste. Dans ton ColorRenderer, appelle simplement une méthode statique pour parser la String et positionner la couleur :
Code :
|
A priori tu connais la colonne qui affiche des couleurs. Il ne reste plus qu'à utiliser ce renderer sur les bonnes colonnes.
Marsh Posté le 21-02-2005 à 14:46:04
bonjour,
J'ai posté ce message sur un autre forum mais vu que je n'ai pas de réponse je me permet de vous poser la question également.
Voilà, dans mon programme je veux colorier les cases d'une JTable uniquement si elles sont du type couleur et en fonction de la valeur qu'elles contiennent. Par exemple une case de type couleur aura pour valeur 12632256. On connait le type d'élément grâce à une chaîne de caractères passée en paramètre au début du programme.
Je vérifie d'abord que l'élément est de type couleur et si il l'est je l'ajoute dans un hashtable :
Voici ma méthode de conversion :
Contenu de ma classe héritant de DefaultTableCellRenderer :
Et pour finir voici ma méthode CouleurRVB qui en fonction du contenu de la cellule va renvoyer la couleur :
Dans mon JTable les couleurs s'affichent en revenche j'ai perdu le focus. De plus lorsque je clic sur n'importe quelle case même une case blanche j'ai le message d'erreur suivant que je ne comprends pas :
java.lang.NullPointerException at java.util.Hashtable.get(Hashtable.java:333)
qui me renvoie à cette partie de la classe hashtable
C'est une histoire de pointeurs mais ça ne m'en dit pas +.
Désolé si c'était un peu long mais quelqu'un comprends-il ou se situe mon erreur ? Sachant qu'aucune action autre qu'un simple affichage n'est censée se faire lorsque l'on clic sur la JTable.
Merci de votre aide