ptit pimousse
Messages postés23Date d'inscriptionsamedi 19 juin 2004StatutMembreDernière intervention20 janvier 2005
-
27 août 2004 à 13:23
al_b07
Messages postés24Date d'inscriptionlundi 27 septembre 2004StatutMembreDernière intervention 4 octobre 2004
-
27 sept. 2004 à 11:13
Salut à tous
j'ai regardé sur le forum mais pas vu alors je pose ma question.
je possede une liste avec des String comme item et je souhaiterai soit:
de coloriser la string
de coloriser le fond de la list (mais juste l'élément selectionné)
en gros une liste comportant 3 string
string1 // couleur de la string noir
string2 // couleur de la string rouge
string3 // couleur de la string noir
ou
list.getItem(string1 // couleur de la cellule noir
list.getItem(string2 // couleur de la cellule rouge
list.getItem(string3 // couleur de la cellule noir
Vous savez comment faire.
Etant que je ne sais pas laquelle des solutions est la plus facile à implementer alors j'ai mis les 2.
al_b07
Messages postés24Date d'inscriptionlundi 27 septembre 2004StatutMembreDernière intervention 4 octobre 2004 27 sept. 2004 à 11:13
il faut faire une classe héritée de ListCellRenderer.
Va voir dans l'API y'a un petit code sympa. En fait il y a juste une méthode à implémenter:
getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
Pour chaque couleur de tes String, utilise soit par rapport à index soit par rapport à value.
Je te conseille d'utiliser plutôt value c'est plus mieux bien.
Pour utiliser cette classe, il faut taper le code suivant:
list.setCellRenderer(new MyListCellRenderer());
où list correspond à ta JList et MyListCellRenderer correspond à ta classe héritée de ListCellRenderer.