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 éditable : couleur du texte ajouté


Sujet :

Composants Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut Combobox éditable : couleur du texte ajouté
    Bonjour,

    J'ai une combobox éditable, le but est lorsqu'on y ajoute du texte, il se met en rouge.
    On m'a dit d'utiliser un Renderer mais la seule chose que j'arrive à faire avec c'est changer la couleur de la sélection...

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Commence par donner ton code.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Justement, si je poste c'est que je n'ai pas réussi à faire un code qui corresponde à ce que je veux...
    De plus, on m'a dit que pour une combobox éditable il fallait plutôt créer un Editor et non un Renderer.

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Citation Envoyé par fouinette13 Voir le message
    Justement, si je poste c'est que je n'ai pas réussi à faire un code qui corresponde à ce que je veux...
    De plus, on m'a dit que pour une combobox éditable il fallait plutôt créer un Editor et non un Renderer.
    Je ne te demande pas la solution, sinon tu n'aurais pas posté ici

    Citation Envoyé par fouinette13 Voir le message
    la seule chose que j'arrive à faire avec c'est changer la couleur de la sélection...
    Tu as donc un début de code. Poste-le : ça permettra à ceux qui veulent t'aider d'avoir tout le code de prêt pour te donner une piste ou même une solution.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Donc, j'ai essayé de créer mon Editor, en essayant déjà de colorer en rouge sans tester si c'est du texte. Mais ça ne marche pas, ça me fait complètement disparaître la zone de texte. J'ai surement dû oublier quelque chose...

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    private class ColorComboBoxEditor implements ComboBoxEditor {
     
            final protected JLabel editor;
            protected EventListenerList listenerList = new EventListenerList();
     
            public ColorComboBoxEditor(){
                editor = new JLabel();
                editor.setForeground(Color.RED);
                editor.setOpaque(true);
     
            }
     
            @Override
            public Component getEditorComponent() {
                return editor;
            }
     
            @Override
            public void setItem(Object newValue) {
     
            }
     
            @Override
            public Object getItem() {
                return editor.getBackground();
            }
     
            @Override
            public void selectAll() {
     
            }
     
            @Override
            public void addActionListener(ActionListener al) {
                listenerList.add(ActionListener.class, al);
            }
     
            @Override
            public void removeActionListener(ActionListener al) {
                listenerList.remove(ActionListener.class, al);
            }
     
        }

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    J'ai trouvé la solution :
    pas besoin de créer son Editor, il faut seulement passer par :
    getEditor().getEditorComponent().setForeground(Color.RED);

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Pour donner la réponse à ma question :

    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
    30
    31
    32
    33
     
    public class MyComboBox extends JComboBox {
     
        public MyComboBox() {
            getEditor().getEditorComponent().addFocusListener(new FocusAdapter() {
                @Override
                public void focusLost(FocusEvent e) {
                    checkIfDouble();
                }
            });
     
            getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
                @Override
                public void keyReleased(KeyEvent e) {
                    checkIfDouble();
                }
     
            });
     
            public boolean checkIfDouble(){
               JTextField comboTextField = (JTextField)getEditor().getEditorComponent();
               String value = comboTextField.getText();
               try {
                     double doubleValue = Double.parseDouble(value);
               } catch (NumberFormatException numberFormatException){
                    getEditor().getEditorComponent().setForeground(Color.RED);
                   return false; 
               }
               getEditor().getEditorComponent().setForeground(Color.BLACK);
               return true;
            }
     
        }

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

Discussions similaires

  1. [Dojo] Couleur du texte dans une ComboBox
    Par hapalemur dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 09/03/2011, 17h06
  2. Ajouter couleur au texte clignotant
    Par Greatz dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/05/2008, 15h28
  3. ComboBox et couleur de texte
    Par SoGood dans le forum VB.NET
    Réponses: 3
    Dernier message: 10/07/2007, 12h04
  4. wxWidgets : couleur de texte sur une seule ligne
    Par Oatly dans le forum wxWidgets
    Réponses: 8
    Dernier message: 05/12/2004, 19h24
  5. [border][panel] couleur du texte
    Par harold63 dans le forum Composants
    Réponses: 3
    Dernier message: 29/06/2004, 15h36

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