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
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
Salut,
pour récupérer la couleur d'un composant, tu peux toujorus faire un getBackground()
Bonjour,
sinon, tu as une méthode qui doit ressembler à ça (je ne suis pas sur de l'argument "ComboBox.Border") :Pour savoir quelle clé mettre en argument, tu peux utiliser ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part UIManager.getDefaults().get("ComboBox.Border");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.
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());
Merci, mais je récupère une chaine comme ceci :Mais mon but est de récupèrer la couleur de bordure d'une JComboBox quel que soit le LookAndFeel utiliser."org.fife.plaf.OfficeXP.OfficeXPComboBoxUI"
Me donne :
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());
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
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.
Ok, merci beaucoup.
Tant pis pour les l&f qui n'utilisent pas les mêmes clefs..
Partager