Masquer un composant Swing

Résolu/Fermé
Lunatick-Duck - 16 déc. 2012 à 22:08
 Lunatick-Duck - 16 déc. 2012 à 22:40
Bonjour,

Je suis actuellement en train de développer une petite application Java, mais je fais face à un problème d'ordre graphique.

En effet, lorsque j'appuie sur un JButton particulier, l'application est censé faire disparaitre certains JButton pour faire place à d'autre.
J'utilise donc un JButton.setVisible(false); pour enlever ceux dont je ne veux plus, et un JButton2.setVisible(true) pour faire apparaitre les nouveaux. Puis un getContentPane().repaint() pour enlever des problèmes visuels qui apparaissent parfois.

Lorsque j'appuie sur mon JButton, les nouveaux Buttons apparaissent biens, mais il reste l'image des anciens, ils ne sont plus cliquables, mais leur image reste imprimé sur le JPane.

J'aimerais bien savoir comment résoudre ce problème d'ordre esthétique et je remercie d'avance toute personne qui m'aiderais.


1 réponse

KX Messages postés 16752 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 août 2024 3 019
16 déc. 2012 à 22:23
"Puis un getContentPane().repaint() pour enlever des problèmes visuels qui apparaissent parfois. [...] mais il reste l'image des anciens, ils ne sont plus cliquables, mais leur image reste imprimé sur le JPane."

Tu as certainement redéfini la méthode paint(Graphics) mais en oublier le super :

@Override
public void paint(Graphics g)
{
    super.paint(g); // ne pas oublier !
    // ...
}
1
Lunatick-Duck
16 déc. 2012 à 22:40
Merci, cette méthode a parfaitement marché, plus d'image phantome!
Comme quoi un simple oublis peut faire bien du dégat ;)

Merci encore!
0