OVH Cloud OVH Cloud

JButton

3 réponses
Avatar
Olivier
Je ne sais pas comment faire pour garder l'aspect visuel actif d'un JButton
quand celui-ci est "disable" : je voudrais que le texte reste de couleur
noir et non grisé, comme par defaut.
Quelqu'un sait-il qu'elle est la méthode à employer ?

Merci d'avance

3 réponses

Avatar
Jc Sirot
Olivier wrote:
Je ne sais pas comment faire pour garder l'aspect visuel actif d'un JButton
quand celui-ci est "disable" : je voudrais que le texte reste de couleur
noir et non grisé, comme par defaut.
Quelqu'un sait-il qu'elle est la méthode à employer ?


Le rendu graphique des composants dépend du Look & Feel utilisé. Pour le
Look & Feel Metal dans la classe MetalButtonUI, la méthode
getDisabledTextColor renvoie la couleur du texte du bouton quand il est
désactivé. En fait cette couleur est obtenue à partir du UIManager en
demandant la propriété "Button.disabledText".

Il existe donc 2 possibilités pour obtenir l'effet désiré :
- faire un :
UIManager.put("Button.disabledText", new Color.BLACK);
mais dans ce cas, tous les boutons seront concernés par la modification.

- surcharger getDisabledTextColor dans MetalButtonUI et créer une
sous- classe de JButton utilisant cette version de getDisabledTextColor.

--

Cordialement
-- JC Sirot

Avatar
Olivier
L'instruction "UIManager.put("Button.disabledText", Color.BLACK);" me
convient tout à fait. (le "new" n'a pas de raison d'être ;-)

Merci beaucoup pour l'astuce


"Jc Sirot" a écrit dans le message de
news:c65j9q$2u8u$
Olivier wrote:
Je ne sais pas comment faire pour garder l'aspect visuel actif d'un
JButton


quand celui-ci est "disable" : je voudrais que le texte reste de couleur
noir et non grisé, comme par defaut.
Quelqu'un sait-il qu'elle est la méthode à employer ?


Le rendu graphique des composants dépend du Look & Feel utilisé. Pour le
Look & Feel Metal dans la classe MetalButtonUI, la méthode
getDisabledTextColor renvoie la couleur du texte du bouton quand il est
désactivé. En fait cette couleur est obtenue à partir du UIManager en
demandant la propriété "Button.disabledText".

Il existe donc 2 possibilités pour obtenir l'effet désiré :
- faire un :
UIManager.put("Button.disabledText", new Color.BLACK);
mais dans ce cas, tous les boutons seront concernés par la modification.

- surcharger getDisabledTextColor dans MetalButtonUI et créer une
sous- classe de JButton utilisant cette version de getDisabledTextColor.

--

Cordialement
-- JC Sirot




Avatar
Jc Sirot
Olivier wrote:
UIManager.put("Button.disabledText", new Color.BLACK);
L'instruction "UIManager.put("Button.disabledText", Color.BLACK);" me

convient tout à fait. (le "new" n'a pas de raison d'être ;-)


Oui en effet, petite étourderie.

--

Cordialement
-- JC Sirot