adrienr11vdv
Messages postés99Date d'inscriptionjeudi 13 juillet 2006StatutMembreDernière intervention16 avril 2009
-
9 mars 2007 à 09:02
adrienr11vdv
Messages postés99Date d'inscriptionjeudi 13 juillet 2006StatutMembreDernière intervention16 avril 2009
-
9 mars 2007 à 12:43
Bonjour à tous,
j'aurai voulu savoir s'il était possible de contrôler la fermeture d'un JPanel.
Lorsque l'utilisateur clique sur la croix rouge (en haut à droite), je voudrai afficher un JOptionPane qui demande s'il est sur de vouloir quitter.
Merci d'avance
Coordialement
Twinuts
Messages postés5375Date d'inscriptiondimanche 4 mai 2003StatutModérateurDernière intervention14 juin 2023111 9 mars 2007 à 09:21
Salut,
tu ne contrôle pas la fermeture d'un panel mais d'une fenêtre. et tu peux lui affecter un WindowListener (pour plus d'info il y a des exemples sur le forum et quelques un dans les sources).
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
"Etes-vous sur de vouloir quitter l'application?"
);}
j'ai suivi ton conseil. Apparemment, pour controler la fermeture de la fenetre, il faut passer par windowClosing
Pourtant, mon bout de code ci-dessus ne marche pas, le JOptionPane ne s'affiche pas
merci d'avance
public class Test extends JFrame implements WindowListener{
private static final long serialVersionUID = 1802199483736051124L;
public Test(){
super("Test");
setSize(300, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);//important
addWindowListener(this);
}
public static void main(String[] args) {
new Test().setVisible(true);
}
public void windowClosing(WindowEvent e) {
int ret = JOptionPane.showConfirmDialog(this, "Etes-vous sur de vouloir quitter l'application?",
"Quitter", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE);
if(ret == JOptionPane.YES_OPTION)
System.exit(0);
}
public void windowActivated(WindowEvent e) { }
public void windowClosed(WindowEvent e) { }
public void windowDeactivated(WindowEvent e) { }
public void windowDeiconified(WindowEvent e) { }
public void windowIconified(WindowEvent e) { }
public void windowOpened(WindowEvent e) { }
}
------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."
WORA
Vous n’avez pas trouvé la réponse que vous recherchez ?
adrienr11vdv
Messages postés99Date d'inscriptionjeudi 13 juillet 2006StatutMembreDernière intervention16 avril 2009 9 mars 2007 à 11:02
je te remercie pour ce bout de code.
j'avais trouvé pourquoi ça n'aller pas, j'avais oublier de mettre implements WindowListener.
maintenant ça marche sauf que j'ai un message d'erreur :
the type NewJFrame must implement the inherited abstract method WindowListener.windowClosed(WindowEvent)
WindowListener.?????
les ???? change : il y ala meme erreur pour windowsIconified(WindowEvent), ....
merci d'avance
adrienr11vdv
Messages postés99Date d'inscriptionjeudi 13 juillet 2006StatutMembreDernière intervention16 avril 2009 9 mars 2007 à 11:29
je me doute que c'est pas fait pour décorer!!!
mais je les ai rajouté pourtant et ça ne change rien. C'est pas trop grave puisque que l'application tourne mais je voulais juste savoir s'il existait pas une solution pour qu'il n'y est plus d'erreur.