Hola comunidad, tengo una duda que me esta rompiendo la cabeza.
estoy haciendo una agenda con dos archivos (contactos, y eventos)
y quiero que cuando el frame se cierre salte un Frame o un dialog que tiene 4 botones para preguntarle si quiere guardar los cambios (SI, solo en Contactos, solo en Eventos, no)
el problema es que cuando le doy a la cruz del frame se cierra y no me la muestra
aclaro un par de cosas
al frame le agrege un Windowlstener con inner class, y ahi implemente el WindowClosing y hago se fije mediante una banderas si hubo cambios en los contactos o en los eventos, si no hubo cambios q haga el dispose, sino que lance el frame de los 4 botones.
tambien le puse al frame el setdefaultcloseoperation(Do_nothing_on_close)
esto lo hago al principio cuando se crea el formulario.
les adjunto el codigo
public AgendaView(SingleFrameApplication app) {
super(app);
getFrame().setDefaultCloseOperation(getFrame ().DO_NOTHING_ON_CLOSE);
getFrame().setResizable(false);
getFrame().setPreferredSize(new Dimension(800,600));
getFrame().setTitle("Agenda v1.0");
getFrame().addWindowListener(new WindowHandler());
....
...
....
}
class WindowHandler implements WindowListener{
public void windowOpened(WindowEvent e) {}
public void windowClosing(WindowEvent e) {
if((AgendaApp.contactFile.updated)&&(AgendaApp.eve ntFile.updated)){
getFrame().dispose();
}else{
saveFrame.setVisible(true);
saveFrame.setLocation(450,250 );
saveFrame.pack();
}
}
public void windowClosed(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
}