SetFont sur une ComboBox en Java
Résolu/Fermé
dudes
Messages postés
2
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
23 juillet 2007
-
21 juil. 2007 à 13:05
dudes Messages postés 2 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 23 juillet 2007 - 23 juil. 2007 à 09:35
dudes Messages postés 2 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 23 juillet 2007 - 23 juil. 2007 à 09:35
A voir également:
- SetFont sur une ComboBox en Java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Java décompiler - Télécharger - Langages
- Java runtime - Télécharger - Langages
1 réponse
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
21 juil. 2007 à 15:27
21 juil. 2007 à 15:27
Bonjour Dudes,
Je n'ai jamais eu à faire ça sur une ComboBox mais le principe est normalement le même que pour les JList : Il faut passer par un renderer.
L'idée c'est que lorsque le contenu d'une entrée de la liste est affiché, la méthode getListCellRendererComponent détermine, en fonction de la valeur de l'élément (ou pour tous les éléments si tu ne précises aucun test), quel composant renvoyer pour l'affichage. Ce composant c'est toi-même qui devras le créer dans la classe de rendu et ça pourra être par exemple un JLabel auquel tu auras attaché ton texte en italique.
Je n'ai malheureusement pas d'exemple à te donner mais en cherchant un peu les combinaisons "JComobox renderer" ou "JList renderer" ça devrait t'aider à trouver quelques exemples.
Un peu comme ici : http://www.java2s.com/Code/Java/Swing-JFC/Colorcomboboxrenderer.htm où chaque entrée de la Combobox a été remplacée par un Panel prenant pour fond la couleur correspondante. Comme tu le dis on ne sait pas appliquer la méthode setFont() sur une entrée de la liste mais en passant par un renderer tu substitues simplement le texte (normalement par défaut il est mis dans un JLabel) par un composant de ton choix (ça peut même être une image).
Bon courage !
Je n'ai jamais eu à faire ça sur une ComboBox mais le principe est normalement le même que pour les JList : Il faut passer par un renderer.
L'idée c'est que lorsque le contenu d'une entrée de la liste est affiché, la méthode getListCellRendererComponent détermine, en fonction de la valeur de l'élément (ou pour tous les éléments si tu ne précises aucun test), quel composant renvoyer pour l'affichage. Ce composant c'est toi-même qui devras le créer dans la classe de rendu et ça pourra être par exemple un JLabel auquel tu auras attaché ton texte en italique.
Je n'ai malheureusement pas d'exemple à te donner mais en cherchant un peu les combinaisons "JComobox renderer" ou "JList renderer" ça devrait t'aider à trouver quelques exemples.
Un peu comme ici : http://www.java2s.com/Code/Java/Swing-JFC/Colorcomboboxrenderer.htm où chaque entrée de la Combobox a été remplacée par un Panel prenant pour fond la couleur correspondante. Comme tu le dis on ne sait pas appliquer la méthode setFont() sur une entrée de la liste mais en passant par un renderer tu substitues simplement le texte (normalement par défaut il est mis dans un JLabel) par un composant de ton choix (ça peut même être une image).
Bon courage !
23 juil. 2007 à 09:35