2012-04-13 8 views
1

J'utilise NetBeans pour créer une application de bureau, et je suis en train de changer la couleur de fond d'un JButton, btn1 utilisant le codeJava Bouton Changer la couleur de fond

btn1.setBackground (Color.Red)

Mais cela ne fonctionne pas. Au lieu de changer la couleur de remplissage du bouton, seule la couleur de la bordure est modifiée. Comment puis-je changer le fond de remplissage?

Merci

Répondre

4

Voir this question connexe et réponse. En particulier, vous pouvez utiliser setForeground() pour changer la couleur du texte d'un bouton, mais le paramètre setBackground() correspondant ne se lit pas correctement sur certaines plates-formes. L'utilisation d'une bordure est une alternative; un panneau coloré, montré ci-dessous, en est un autre. Vous pouvez également appeler setOpaque(true) sur votre bouton.

+0

Je l'appelle lorsque le bouton est cliqué – jpo

+0

Voir les modifications de réponse. – lrAndroid

+0

+1 Plus [ici] (http://stackoverflow.com/a/9852024/230513). – trashgod

0

Vous devez ré-implémenter la méthode de peinture pour obtenir ce que vous recherchez. Jetez un oeil à here.

enter image description here

+0

S'il vous plaît ne postez pas de réponses identiques à plusieurs questions. Postez une bonne réponse, puis votez/marquez pour fermer les autres questions en tant que doublons. Si la question n'est pas un doublon, répondez à vos questions à la question. – kleopatra

+0

Édité comme suggéré. C'est maintenant un lien vers la question où il y a la réponse à celle-ci, même si elles ne sont pas dupliquées. – luca

+0

L'autre réponse montre qu'il s'agit d'un doublon * déjà *. –