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

AWT/Swing Java Discussion :

Mise en forme d'un jComboBox


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par défaut Mise en forme d'un jComboBox
    Bonjour,

    Est il possible de mettre en forme les items d'une jComboBox. Par exemple, mettre un Item en gras et les autres non ou de colorer le background d'une seule ligne. L'idée étant de faire ressortir une ligne par rapport aux autres.

    Par exemple:
    Item1
    Item 2
    Item3



    Sur un second point, est il possible d'insérer des séparateurs dans la jComboBox un peu à la manière suivante :

    ---- Première série ----
    Item 1
    Item 2
    ---- Seconde série ----
    Item 3
    Item 4

    L'idée étant que les "première série" et "seconde série" ne soient pas cliquables mais qu'ils servent uniquement à mettre un peu d'ordre et de clarté dans la liste des items de la jComboBox.

    Merci de vos conseils !

  2. #2
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Par défaut
    Pour le 1er point, il te faut modifier le renderer par défaut de ta JCOmboBox en créant un renderer héritant de ListCellRenderer (cf. JavaDoc de JComboBox : tu as un lien vers How to Use Combo Boxes )

    Pour le point 2, une idée mais peut-être pas la meilleure : tu peux gérer tes séparateur comme des items de ta liste dont la sélection n'est pas prise en compte :
    - 1 : dans le renderer : ne pas modifier le rendu si c'est un séparateur,
    - 2 : dans tes évènements : ne pas prendre en compte la sélection des séparateurs.

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 125
    Par défaut
    Pour le listCellRenderer, je vais regarder du coté de la doc en effet !

    Par contre pour ne pas prendre en compte la sélection des séparateurs, je ne vois pas trop. Si je met l'action "ActionPerformed" sur le jCombobox, et qu'avec la souris je sélectionne un séparateur, je peux très bien ne pas faire d'action dessus dans mon code, mais par contre, il sera sélectionné dans la jComboBox.

    Est il possible que le clique sur le séparateur ne soit pas possible (en gros, que ca ne referme pas la liste de la jComboBox en le sélectionnant).

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 130
    Par défaut
    Sinon je pense que tu peux utiliser ton propre ItemListener et voir quel est l'élément sélectionné
    => dans le cas d'un séparateur tu consommes l'évènement et tu ne fais rien (en espérant que cela ne ferme pas la combo),
    => dans le cas d'un autre élément : tu ne fais rien (laisse passer l'évènement pour ton ActionListener).


    NON ! Après vérif, c'est pas une bonne idée !

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 84
    Par défaut
    Fais un test sur l'item sélectionné, si c'est un séparateur tu rouvres ta popup avec showPopup(). Par contre pour que ta combo conserves l'ancien item sélectionné ça va pas être de la tarte !

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 79
    Par défaut
    Citation Envoyé par Tijee
    Par contre pour que ta combo conserves l'ancien item sélectionné ça va pas être de la tarte !
    ben c'est pas specialement difficile
    lors de la selection d'un item dan sune combobox 2 evenements itemEvent sont generés :
    - un pour la deselction de l'ancien item
    - et l'autre pour la selection du nouvel item

    il suffit lorsque tu recois l'event de deselection, de grader en memoire qq part l'ancien element selectionné, et lorsque tu recois l'evenement de l'item selectionné, tu verifies si ce n'est aps un separateur. Si c'est le cas tu reselectionne l'ancien élément selectionné gardé en mémoire.

    ca devrait le faire

Discussions similaires

  1. [CR] mise en forme d'un champs texte en fonction des données
    Par niPrM dans le forum SAP Crystal Reports
    Réponses: 6
    Dernier message: 29/06/2004, 11h57
  2. [CR 9] Mise en forme non affichée when null
    Par Yorglaa dans le forum Formules
    Réponses: 2
    Dernier message: 28/06/2004, 17h27
  3. mise en forme rapide d'applets
    Par appletj dans le forum Applets
    Réponses: 11
    Dernier message: 03/06/2004, 13h28
  4. Mise en forme HTML
    Par Regis.C dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 25/04/2004, 11h55
  5. Mise en forme fichier avant Import
    Par jeff37 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/04/2004, 15h16

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