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 :

Fond du textfield d'une 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
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut Fond du textfield d'une jcombobox
    Bonjour,

    cela fait quelques jours que je bloque sur un probleme de couleurs.
    Je voudrais creer une jcombobox qui permet de explorer les dossiers de windows.

    J'ai commence par creer une arborescence en utilisant un JTree et ensuite, j ai converti ce jtree en une jlist que je peux utiliser dans ma jcombobox.

    Le probleme est que pour afficher une icone ainsi qu'un string pour les elements de la jcombobox, j utilise un cellrenderer. Tres pratique, cela marche parfaitement.

    Cependant, la popup du jcombobox, j arrive a lui mettre un fond blanc et lorsque la souris passe sur les divers dossiers, le bleu leger par default highlight la selection, c est ce que je souhaite. En revanche, cette meme couleur est gardee dans le textfield de la jcombobox alors que je voudrais du blanc. Je n'arrive pas a trouver de solution car si je change la couleur de selection, ca a aussi un effet sur la popup...

    Si je mets la jcombobox editable, je gagne ma couleur blanche mais je perds le cellrenderer. J'ai pense a une solution sans cellrenderer, c est possible mais alors je ne vois pas comment ajouter une icon et un string en meme temps.

    Si quelqu'un a une solution, je vous remercie !

    Antoine.

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2005
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 105
    Par défaut
    Bonjour,

    personne ne m a repondu mais depuis j ai trouve la solution et je pensais la partager au cas ou quelqu un se trouve dans la meme situation que moi car je n ai pas trouve de solution sur internet:

    Tout d'abord dans le il faut desactiver le focus sur la JComboBox et lui affecter un ComboBoxEditor fait maison:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    JComboBox comboBox = new JComboBox();
    comboBox.setFocusable(false); 
    comboBox.setEditor(new MyEditor());
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    class MyEditor extends JLabel implements ComboBoxEditor {
     
    		private Object currentValue ;
     
                    public MyEditor() {
                            this.setOpaque(true);
    		}
     
    		public Component getEditorComponent() {
                        return this ;
    		}
     
    		public void setItem(Object anObject) {                    
                        if ((currentValue != null && !currentValue.equals(anObject)) || currentValue == null && anObject != null) {
                            currentValue = anObject;
                             setText((String)anObject);
                            setBackground(Color.WHITE);
                        }
    		}
     
    		public Object getItem() {
    			return currentValue ;
    		}
     
    		public void selectAll() {}
    		public void addActionListener(ActionListener l) {}
    		public void removeActionListener(ActionListener l) {}
    	}
    }
    Voila...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. un textfield dans une page web à l'aide d'une servlet
    Par amelA dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 14/05/2006, 18h54
  2. [VB]Fond d'ecran dans une feuille MDI
    Par zejo63 dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 23/01/2006, 17h47
  3. [JCombobox] modif d'une jcombobox par rapport à une autre
    Par The Wretched dans le forum Composants
    Réponses: 2
    Dernier message: 21/03/2005, 10h35
  4. Colorier le fond des cellules d'une stringrid
    Par ORLIK dans le forum C++Builder
    Réponses: 7
    Dernier message: 09/11/2004, 21h22
  5. Couleur d'une JComboBox disabled
    Par ced dans le forum Composants
    Réponses: 6
    Dernier message: 06/01/2004, 15h33

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