IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants Java Discussion :

[ComboBox] Afficher les lignes en couleur


Sujet :

Composants Java

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 64
    Points : 47
    Points
    47
    Par défaut [ComboBox] Afficher les lignes en couleur
    Bonjour,

    J'aimerais que le texte de certaines lignes de ma JComboBox soit affiche en rouge.

    J'ai fait une classe étendant DefaultListCellRenderer donc quand j'ouvre ma combo, j'ai bien certaines lignes en rouge. Par contre si j'en sélectionne une (rouge) elle ne s'affiche plus en rouge mais comme les autres, en noir.

    Qqun a-t-il une idée ?
    Merci d'avance

  2. #2
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Bonjour, le mieux serait que tu nous montre comment tu as surchargé le renderer.
    J'imagine que tu as une méthode qui surcharge DefaultListCellRenderer.getListCellRendererComponent, peut-être que tu ne prends pas en compte ta police rouge si isSelected est vrai?

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 64
    Points : 47
    Points
    47
    Par défaut
    Bonjour,

    Voici mon renderer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    private class DecompteComboRenderer extends DefaultListCellRenderer {
    	@Override
    	public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
    		JLabel comp = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus);
    		Decompte dec = m_mapDecompte.get(value);
    		if (dec != null && dec.getEstDecompteDefinitif()) {
    			comp.setForeground(Color.RED);
    		}
     
    		return comp;
    	}
    }

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 38
    Points : 69
    Points
    69
    Par défaut
    C'est la ligne dans la petite liste de la combo "dépliée" qui s'affiche en noir ou bien le texte de la combo "repliée" ? Car dans ce dernier cas je ne suis pas sur que ce soit encore le même Renderer qui gère l'affichage, d'où ton souci.

    Bon ceci n'est qu'une piste je n'ai pas été fouillé dans la javadoc vérifier cela.
    Il y a toujours une solution

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2007
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 64
    Points : 47
    Points
    47
    Par défaut
    En effet, la ligne est en rouge lorsque la combo est dépliée lorsqu'elle se referme la ligne est en noir ....

    A moins que se soit au niveau de l'éditeur et non plus du renderer ...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 38
    Points : 69
    Points
    69
    Par défaut
    Sinon la solution "pas belle" c'est avec un évennement onChange tu changes les couleurs/police directement sur l'objet JComboBox ...

    je ne vois pas de solution "belle" et apperement dans le tutoriel Java ils font comme tu as fait à premiere vue .... bon je repasserais sur ce post voir si quelqu'un a la "belle" soluce ;p.
    Il y a toujours une solution

Discussions similaires

  1. Afficher les lignes désirées avec la commande awk
    Par Olivier Regnier dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 16/06/2007, 20h58
  2. ne pas afficher les lignes Vides
    Par k-eisti dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 21/05/2007, 18h02
  3. Réponses: 2
    Dernier message: 13/12/2006, 20h30
  4. [debutant]afficher les lignes?
    Par loveflower dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 26/11/2005, 14h43
  5. Afficher les lignes d'un fichier
    Par pepere73 dans le forum C++
    Réponses: 16
    Dernier message: 21/02/2005, 22h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo