2010-05-18 5 views
2

J'ai un panneau Java avec 4 boutons. Lorsque je clique sur ces boutons, un nouveau cadre apparaît et le premier est caché avec setVisibile(false). Sur cette nouvelle fenêtre, j'ai un autre bouton, mais quand je clique dessus, j'ai l'événement correspondant au quatrième bouton de la première fenêtre. Cliquer à nouveau sur le bouton fait l'affaire, mais bien sûr ce n'est pas acceptable. Ai-je raté quelque chose? Je montre juste les cadres avecMauvais événement sur le panneau Java

nameOfTheFrame.setVisible(true); 

et j'ai MouseListeners sur chaque bouton.

Le code du dernier bouton est simplement:

System.exit(0); 

EDIT

Exemple de code:

private void btn_joinGamePressed(java.awt.event.MouseEvent evt) { 
      GraphicsTools.getInstance().getCreateGame().setVisible(false); 
      GraphicsTools.getInstance().getMainPanel().setVisible(false); 
      GraphicsTools.getInstance().getRegistration().setVisible(true); 
} 

GraphicsTools est un Singleton.

EDIT 2 Plus d'informations. J'ai remarqué que sur MAC OS fonctionne très bien. Le problème se produit uniquement sur Linux et Windows.

+0

Pourriez-vous poster le code pour les autres boutons aussi? Surtout celui de ton quatrième bouton. –

+0

Ajouté, merci .. – lbedogni

+0

Etes-vous sûr que la méthode GraphicsTools.getInstance(). "SomePanel" renvoie les instances correctes? – Gordon

Répondre

1

Cela doit se produire en raison de vos écouteurs de souris. Peut-être que c'est l'identification de l'ancien bouton dans votre premier clic qui est au même endroit du nouveau bouton (c'est juste ma conjecture).

Modifiez les écouteurs de la souris en écouteurs d'actions. Pour un bouton, il suffit que vous ayez un écouteur d'action.

Essayez ceci.

+0

Ça marche! Merci beaucoup. – lbedogni

0

Essayez d'appeler revalidate() sur les cadres lorsque vous changez leur viabilité.

Edit:

Il pourrait être quelque chose avec la création des cadres. Assurez-vous que vous appelez 'pack() `sur les images.

+0

Essayé, mais rien n'a changé. – lbedogni

Questions connexes