2017-01-15 2 views
0

J'ai un JOptionPane dans lequel j'ai un JPanel avec quelques champs de texte. Lorsque vous cliquez sur "OK", il doit se passer quelque chose avec les valeurs des champs de texte. Mais avant que quelque chose n'arrive, je veux vérifier si un champ de texte est vide. Si c'est le cas, la boîte de dialogue ne doit pas être ignorée et je souhaite afficher un message indiquant que tous les champs sont obligatoires.Vérifier les données dans JOptionPane avant qu'il ne soit fermé

Si je le fais comme ceci:

int result = JOptionPane.showConfirmDialog(null, dialogPanel, "Neuen Kunden anlegen", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE); 
if(result == JOptionPane.OK_OPTION){ 
    ... 
} 

la boîte de dialogue est déjà rejeté lorsque je vérifie le bouton enfoncé. Est-il possible de gérer le clic sur le bouton avant que la boîte de dialogue ne disparaisse?

Répondre

2

Un bouton de JOptionPane fermera la boîte de dialogue - vous ne pouvez pas changer cela. Vos options sont donc de réafficher le JOptionPane ou de créer et d'afficher votre propre JDialog modal et de faire en sorte que les écouteurs de leurs boutons se comportent comme vous le souhaitez.