Java - JOptionPane qui s'incrémente

filou156 Messages postés 18 Statut Membre -  
filou156 Messages postés 18 Statut Membre -
Bonjour,

Je vous donne le contexte. On a d'abord une JFrame principale qui contient un JButton. Lorsqu'on clique sur ce dernier, un JDialog s'ouvre. Dans cette nouvelle fenêtre (JDialog), on retrouve un bouton qui une fois cliqué, nous envoie une JOptionPane de confirmation.

Maintenant, le problème. Si on ferme la JDialog et qu'on l'ouvre à nouveau (toujours grâce au premier JButton), et qu'on clique sur le deuxième, la JOptionPane de confirmation apparaît deux fois. Et cela augmente chaque fois on ferme et on ouvre la JDialog.

Voici une partie du code :

fen2 est la JDialog

public static void dialogQuestion(){

JOptionPane.showConfirmDialog(null, "Confirmez ?", "Confirmation", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);

}


public static void Fenetre2(){
fen2.setTitle("App");
fen2.setSize(400 , 500);
fen2.setResizable(false);
fen2.setLocationRelativeTo(null);
fermer_fenetre.addActionListener(new BoutonFermer());
vider_fichier.addActionListener(new BoutonDialog());
fen2.setVisible(true);


}

static class BoutonDialog implements ActionListener{
public void actionPerformed(ActionEvent e) {
dialogQuestion();



}


}
A voir également:

4 réponses

latoopa Messages postés 278 Statut Membre 32
 
Salut,

en fait lorsque tu fais :

fermer_fenetre.addActionListener(new BoutonFermer()); 


tu scrutes les actions sur ton bouton fermer fenêtre mais sur un nouveau bouton "new BoutonFermer()". Je crois qu'en général, ActionListener prend "this" en paramètre. Ta classe doit pour cela implémenter ActionListener.


Deuxième point :

static class BoutonDialog implements ActionListener{ 
    public void actionPerformed(ActionEvent e) { 
          dialogQuestion(); 
    } 
}


De plus, dans ton actionListener, tu ne fais pas la distinction du bouton qui est cliqué.. Il faudrait probablement utiliser "e.getSource()" pour savoir quel bouton a été selectionné à l'aide d'ifs.
1
filou156 Messages postés 18 Statut Membre 2
 
Peut-être bien mais ça ne règle pas mon problème de JOptionPane.
0
latoopa Messages postés 278 Statut Membre 32
 
Moi je pense que si... :-)

Cordialement.
Toopa
0
filou156 Messages postés 18 Statut Membre 2
 
Désolé,

Merci à toi Latoopa, tu avais raison.
0