Modifier l'arrière-plan et la couleur du texte de JMenuBar et JMenu objets à l'intérieur
Comment puis-je définir la couleur de fond personnalisée pour JMenuBar
et JMenu
objets à l'intérieur? J'ai essayé .setBackgroundColor
et il ne fonctionne pas!
- Problème peut être LAF liés. À l'aide de la valeur par défaut LAF vous avez seulement besoin de définir l'arrière-plan de la barre de menu et le menu va hériter de cette couleur, car il est non-opaque. Publier vos SSCCE qui illustre le problème. Si vous ne savez pas ce qu'est un SSCCE est que vous pouvez toujours chercher sur le web.
- droit, convenu pour Nimbus L&Un
InformationsquelleAutor KernelPanic | 2013-03-26
Vous devez vous connecter pour publier un commentaire.
Créer une nouvelle classe qui étend la classe
JMenuBar
:Maintenant, vous utilisez cette classe au lieu de
JMenuBar
et définir la couleur d'arrière-plan avecsetColor()
.Vous auriez probablement besoin de changer l'opacité des éléments de menu, c'est à dire:
Vous pouvez également réaliser qu'à l'échelle mondiale à l'aide de
UIManager
, par exemple:La façon la plus simple (je pense) est de changer les valeurs par défaut utilisées par le
UIManager
. Cela aura un effet sur toutes les barres de menus et éléments de menu de l'application si...Le mien ne fonctionnait que quand j'ai changé:
à:
Sinon, les couleurs sont restés les mêmes.
Façon Simple de le faire est par
.setBackground(Color.RED)
etsetOpaque(true)
menubar.setBackground(Color.RED);
menu.setBackground(Color.yellow);
menubar.setOpaque(true);
menu.setOpaque(true);
Ce que va donner la couleur de votre choix à la fois la barre de menu et le menu.