Foros del Web » Programación para mayores de 30 ;) » Java »

frame se me cierra!!

Estas en el tema de frame se me cierra!! en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 15/08/2010, 20:20
 
Fecha de Ingreso: agosto-2010
Mensajes: 2
Antigüedad: 14 años, 4 meses
Puntos: 0
frame se me cierra!!

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) {}

}

Etiquetas: frame, swing
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:19.