Style dans une JList

Résolu
empiret Messages postés 38 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 13 mars 2006 - 26 mai 2005 à 16:44
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 - 1 juin 2005 à 23:36
Bonjour,



Comment peut-on mettre en gras par exemple, et si je generalise, mettre
du style pour un seul element d'une JList, et non pas toute la liste.

Mon but avec cela est de distinguer les elements de ma liste selon leurs provenance.



Dois-je creer des JLists dans ma liste principale et pour chaque type
d'element je fais ma-sous-list.setFont() ...? mais avec cette idee, je
ne vois pas comment recuperer la valeur textuelle de ma sous-liste.



je vous remercie.

2 réponses

bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
1 juin 2005 à 23:36
Oula suis-je distrait, j'ai oublie la moitié des lignes !

un petit exemple au passage :



public Component getListCellRendererComponent(JList list,Object value,int index,


boolean isSelected,boolean cellHasFocus){



JLabel res = new JLabel( value.toString() ) ;

if( provenance pouet)

res.setBackground( rouge ) ;

else

res.setFont( res.getFont.derive( Font.BOLD ) ) ;

return res ;

}
3
bloofi Messages postés 388 Date d'inscription mercredi 1 octobre 2003 Statut Membre Dernière intervention 3 mai 2006 2
1 juin 2005 à 23:34
Il te suffit de creer une classe implementant ListCellRenderer et de faire cke tu veux dans getListCellRendererComponent ...

Apres tu fait TaJList.setListCellRenderer( tonMaListCellRenderer );

voila voilou...



import javax.swing.*;

import java.awt.*;



public class MaListCellRenderer implements ListCellRenderer{



public BListCellRenderer(){}



public Component getListCellRendererComponent(JList list,Object value,int index,


boolean isSelected,boolean cellHasFocus){

//(test a faire sur le parametre value, ou sur d'autres parametre si besoin...)

if( provenance pouet)

doGrasMachinPouet() ;

else

Gnagna() ;

return res ;

}

}
0
Rejoignez-nous