2010-08-22 4 views
1

Je développe l'application Java Swing. Je suis assez nouveau à Java, donc j'ai quelques questions. J'ai une fenêtre modale avec un certain nombre de contrôles (champs de texte, boutons, etc.).Gestion des événements dans les fenêtres modales (Java swing)

Je veux gérer cliquez sur le bouton dans la fenêtre parente. Je pense que le moyen le plus efficace et le plus précis est d'abord de le gérer dans une fenêtre modale, puis d'élever un autre événement du formulaire modèle et de le gérer dans le formulaire parent.

Est-ce que cette approche est bonne et quelles sont les meilleures pratiques pour y arriver?

Merci pour votre aide!

+0

Pourquoi ne pouvez-vous pas mettre un gestionnaire sur le bouton dans la fenêtre parente? – Starkey

Répondre

0

En général, la boîte de dialogue contenant le bouton doit gérer le clic du bouton.

Cependant, vous pouvez peut-être utiliser un JOptionPane. Il est conçu pour retourner le bouton sur lequel vous avez cliqué, puis vous pouvez effectuer un traitement personnalisé en fonction du bouton cliqué. Consultez la section du tutoriel Swing sur How to Make Dialogs pour quelques exemples. Aussi pas que vous pouvez ajouter un panneau à un volet d'options. Dans ce cas, vous pouvez trouver l'astuce Dialog Focus utile.

0

Je suppose que ce que vous voulez, c'est que l'action (ou un écouteur d'action) d'un bouton dans la fenêtre parent pour traiter un clic de souris sur un bouton (ou quelque chose) dans la boîte de dialogue modale.

Il existe des moyens infinis de le faire. Vous pouvez passer l'action à la boîte de dialogue modale, passer le bouton et appeler doClick(), passer une implémentation d'une interface qui peut rediriger le clic de souris (ou quoi que ce soit), etc

Ou si à la place vous voulez cliquer sur le bouton réel dans la fenêtre parent lorsque le dialogue modal est en place, recherchez la définition de modal.

Questions connexes