Je suis en train de créer un menu pour mon programme, qui dessine des objets géométriques sur un. JPanel en utilisant .getGraphics() drawImage (..)JMenu laisse une boîte grise au-dessus d'un JPanel sur lequel l'image est tirée
Le problème que j'ai est qu'après avoir sélectionné un élément sur ce menu, le texte disparaît mais pas la couleur de fond. La section utilise une méthode qui redessine l'image sur ce panneau en utilisant la commande ci-dessus, mais apparemment, cela n'aide pas à la supprimer. Après avoir cliqué sur cet élément de menu et laissé cette case grise après le menu, je peux la faire disparaître en déplaçant la scène avec ma souris, qui appelle essentiellement la même méthode que celle utilisée après le clic sur l'élément de menu. Cela me rend confus quant à savoir pourquoi l'appel de la méthode de l'élément de menu ne supprime pas la boîte, mais l'appel suivant de cette méthode le fait.
Une idée sur pourquoi cela se passe-t-il et/ou comment y remédier?
Merci.
image (A, B sont JMenus sur JMenuBar et la zone grise ci-dessous sont laissés après sélection JRadioButtonMenuItem):.
Ma conjecture est que vous avez bloqué le panneau de se permettre de redessiner quand il détecte que le menu a disparu. Mais je ne peux pas le dire sans voir le code. –
La seule chose que je définis manuellement sur le panneau est setPreferredSize(). (En outre, tous les composants sont dans un JFrame si cela fait une différence) – EyfI