Pourquoi ne setBackground à JButton ne fonctionne pas?
J'ai le code simple suivant:
btn = new JButton();
btn.setBackground(backgroundColor)
J'ai travaillé lorsque j'ai utilisé:
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
Mais il a cessé de travailler après j'ai commenté la ligne ci-dessus. Quelqu'un sait pourquoi il peut arriver et comment je peux définir une couleur d'arrière-plan à un bouton sans l'utilisation d'une volonté explicite de Regarder et de Sentir?
AJOUTÉ
Il me semble que j'ai besoin d'utiliser getBackground
. Mais je ne sais pas comment.
Sur une autre note: veuillez ne pas utiliser ce
Pouvez-vous poster plus de détails? Votre UIManager.setLookAndFeel("com.soleil.java.swing.plaf.de windows.WindowsClassicLookAndFeel"); après ou avant btn.setBackground(backgroundColor) commande?
mon LookAndFeel était avant. Et je ne veux pas l'utiliser du tout.
est correcte. Cette Réponse[1] décrit plusieurs approches alternatives. [1]:stackoverflow.com/questions/3420431
UIManager
ligne comme ça: coder en dur le PLAF nom de classe signifie que votre code ne fonctionnera pas si ce que PLAF n'est pas disponible (par exemple sur la non-Windows Jdk ou sur la version plus récente de Windows JDK qui pourrait cesser d'expédition spécifiques de la classe). UIManager.getSystemLookAndFeelClassName()
peut-être ce que vous êtes après.Pouvez-vous poster plus de détails? Votre UIManager.setLookAndFeel("com.soleil.java.swing.plaf.de windows.WindowsClassicLookAndFeel"); après ou avant btn.setBackground(backgroundColor) commande?
mon LookAndFeel était avant. Et je ne veux pas l'utiliser du tout.
est correcte. Cette Réponse[1] décrit plusieurs approches alternatives. [1]:stackoverflow.com/questions/3420431
OriginalL'auteur Roman | 2011-02-14
Vous devez vous connecter pour publier un commentaire.
il est nécessaire de définir Opaque de l'élément à vrai pour la couleur à pourvoir
OriginalL'auteur CoderCoder
De setBackground() javadoc:
Peut-être que votre LAF tout simplement ignorés.
OriginalL'auteur proactif
ajouter btn.setBorderPainted(faux)
OriginalL'auteur JaNL
Problème peut aussi être de la façon dont vous créez le bouton. Vérifiez si le code ci-dessus:
}
OriginalL'auteur Serhiy
Cliquez simplement une fois sur le bouton que vous souhaitez définir en arrière-plan, puis accédez à la fenêtre des propriétés. Là-bas, la deuxième option sera d'arrière-plan. Cliquez sur son bouton de sélection, et vous pouvez changer la couleur de votre goût. La couleur ne sera pas affiché sur le bouton de votre image jusqu'à ce que après avoir exécuté le programme. Vous pouvez voir que le bouton est dans la couleur que vous préférez.
OriginalL'auteur Dora