Java - Frames

 
Vista:

Frames

Publicado por Paco (1 intervención) el 24/05/2003 16:21:35
Hola!

Tengo varias preguntas sobre los frames:
1 Como puedo cerrar un frame sin cerrar la aplicacion, si utilizo hide, se queda oculto y ocupando memoria?
2 Como puedo hacer algo determinado por mi al pulsar la X de cierre de ventana.?

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Frames

Publicado por chuidiang (532 intervenciones) el 26/05/2003 07:13:08
Los Jframes tienen una opción para que al cerrarlos hagan una de estas cosas:
- Se oculten y queden en memoria
- Hagan salirse a la aplicación (exit())
- Se oculten y se liberen de memoria.
- No hagan nada.
La fijas llamando a la funcion setDefaultCloseOperation().

JFrame ventana = new JFrame()
ventana.setDefaultCloseOperation (WindowConstans.DISPOSE_ON_CLOSE); // Se liberará al ocultarse
....
ventana=null; // necesario para que se libere realmente.

De todas formas, para que se libere siempre puedes llamar a su método dispose(). Recuerda que para que realmente se libere, también es necesario que tu borres tus referencias a la ventana. Por ejemplo

JFrame ventana = new JFrame();
...
ventana.dispose();
ventana=null; // Si no haces esto, el recolector de basura no la liberará.

Para ejecutar tú una acción cuando se cierre, debes añadir un windowListener al frame. En concreto, el método windowClosing() del windowListener es el que tienes que redefinir.

JFrame ventana = new JFrame;
ventana.addWindowListener ( unWindowListener );

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar