Java.awt.list + couleur

ptit pimousse Messages postés 23 Date d'inscription samedi 19 juin 2004 Statut Membre Dernière intervention 20 janvier 2005 - 27 août 2004 à 13:23
al_b07 Messages postés 24 Date d'inscription lundi 27 septembre 2004 Statut Membre Derniè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.

a+
Seb
http://www.ironbell.fr
http://narayana.ska.free.fr

1 réponse

al_b07 Messages postés 24 Date d'inscription lundi 27 septembre 2004 Statut Membre Derniè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.

Voilà
0
Rejoignez-nous