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 :

Récupèrer une couleur du Look & Feel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Récupèrer une couleur du Look & Feel
    Bonjour,

    Est-il possible de récupèrer une couleur du Look and feel ?
    J'aurais besoin de récupèrer la couleur que mon look and feel applique aux bords des JComboBox.

    Est-ce possible ?
    Si oui, comment ? ou une petite piste ..

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    pour récupérer la couleur d'un composant, tu peux toujorus faire un getBackground()

  3. #3
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    sinon, tu as une méthode qui doit ressembler à ça (je ne suis pas sur de l'argument "ComboBox.Border") :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UIManager.getDefaults().get("ComboBox.Border");
    Pour savoir quelle clé mettre en argument, tu peux utiliser ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set s = UIManager.getDefaults().keySet();
    for(Iterator i = s.iterator(); i.hasNext();)
      System.out.println(i.next());
    Il faut ensuite trouver une clé qui ressemble à ComboBox.borderColor ou autre. Si tu demandes une clé qui n'existe pas, la méthode renverra null.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci, mais je récupère une chaine comme ceci :
    "org.fife.plaf.OfficeXP.OfficeXPComboBoxUI"
    Mais mon but est de récupèrer la couleur de bordure d'une JComboBox quel que soit le LookAndFeel utiliser.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    // Application du look and feel
    // ...
     
    JFrame frm = new JFrame();
    frm.setSize(20,20);
    frm.setVisible(true);
    frm.getContentPane().add(new JComboBox());
     
    Set s = UIManager.getDefaults().keySet();
    for(Iterator i = s.iterator(); i.hasNext();)
        System.out.println(i.next());
    Me donne :
    com.sun.java.swing.plaf.windows.WindowsLabelUI
    org.fife.plaf.Office2003.Office2003ButtonUI
    org.fife.plaf.OfficeXP.OfficeXPComboBoxUI
    com.sun.java.swing.plaf.windows.WindowsRootPaneUI
    class javax.swing.plaf.basic.BasicPanelUI
    class javax.swing.plaf.basic.BasicViewportUI
    class org.fife.plaf.Office2003.Office2003ButtonUI
    javax.swing.plaf.basic.BasicListUI
    class com.sun.java.swing.plaf.windows.WindowsLabelUI
    com.sun.java.swing.plaf.windows.WindowsTextFieldUI
    javax.swing.plaf.basic.BasicPanelUI
    class com.sun.java.swing.plaf.windows.WindowsTextFieldUI
    class javax.swing.plaf.basic.BasicScrollPaneUI
    class org.fife.plaf.OfficeXP.OfficeXPComboBoxUI
    org.fife.plaf.Office2003.Office2003PopupMenuUI
    javax.swing.plaf.basic.BasicViewportUI
    javax.swing.plaf.basic.BasicScrollPaneUI
    class com.sun.java.swing.plaf.windows.WindowsScrollBarUI
    com.sun.java.swing.plaf.windows.WindowsScrollBarUI
    class org.fife.plaf.Office2003.Office2003PopupMenuUI
    class javax.swing.plaf.basic.BasicListUI
    class com.sun.java.swing.plaf.windows.WindowsRootPaneUI

  5. #5
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bon, désolé pour l'algo pour récupérer les clés, je me suis fourvoyé. Mais pour en récupérer une seule, c'est bien ça.

    L'embêtant, c'est que le nom des clés peut changer d'un LookAndFeel à un autre : imagine un laf qui utilise 2 couleurs pour la bordure ... Bon, vu que la plupart des laf descendent du BasicLookAndFeel, tu peux utiliser ses clés.

    Elles sont visibles ici, à la ligne 592. C'est pas le code de Sun, mais je pense que ce sont les mêmes clés.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Ok, merci beaucoup.

    Tant pis pour les l&f qui n'utilisent pas les mêmes clefs..

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

Discussions similaires

  1. [2D/3D] Récupérer une couleur à une position d'un QGradient
    Par johnlamericain dans le forum Qt
    Réponses: 7
    Dernier message: 24/08/2010, 13h37
  2. Récupérer la couleur du look&feel
    Par ®om dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 11/07/2007, 12h05
  3. [Lazarus] Récupérer une couleur d'un tcolorbox
    Par nnniii dans le forum Lazarus
    Réponses: 2
    Dernier message: 21/05/2007, 14h18
  4. Réponses: 7
    Dernier message: 29/05/2006, 17h40

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