Originariamente inviato da capri81
Ciao a tutti, ho un piccolo problemino.
Ho fatto un'applicazione java con un Jframe. L'utente inserisce delle stringhe e al momento della chiusura, se non ha salvato gli chiedo se vuole salvare: praticamente nel metodo windowclosing apro il pannello con la scelta. Il problema sorge quando l'utente clicca o Cancel oppure la x del pannellino di richiesta ed intuitivamente il programma non si dovrebbe chiudere.solo che essendo in windowclosing quando termina il metodo chiude tutto. ci dovrebbe essere un modo per "abortire" l'evento di chiusura della finestra...ma non so come si faccia
C'è qualcuno che ha capito cosa ho scritto e che sa darmi un aiutino?
Se ho capito bene, vuoi che il frame si possa chiudere solo in determinate condizioni.
Io avevo fatto questo sorgente di prova:
codice:
import java.awt.event.WindowEvent;
import java.awt.event.WindowAdapter;
import javax.swing.*;
public class FrameTestWarning extends JFrame
{
public FrameTestWarning ()
{
super ("Frame Test");
setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE);
setSize (300, 300);
addWindowListener (new CloseWarning ());
}
public static void main (String[] args)
{
FrameTestWarning f = new FrameTestWarning ();
f.setVisible (true);
}
private class CloseWarning extends WindowAdapter
{
public void windowClosing (WindowEvent e)
{
int ret = JOptionPane.showConfirmDialog (FrameTestWarning.this, "Close window?",
"Frame Test", JOptionPane.YES_NO_OPTION);
if (ret == JOptionPane.YES_OPTION)
System.exit (0);
}
}
}