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

Cerrar Ventana

Estas en el tema de Cerrar Ventana en el foro de Java en Foros del Web. hola, he hecho (con AWT) un frame que llama a otro frame. Lo que quiero es que al darle a la "x" del segundo frame, ...
  #1 (permalink)  
Antiguo 19/04/2007, 13:18
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años
Puntos: 0
Cerrar Ventana

hola, he hecho (con AWT) un frame que llama a otro frame. Lo que quiero es que al darle a la "x" del segundo frame, se me cierre el segundo frame(sólo el segundo frame) y lo único uqe he conseguido es que al darle a la x del segundo frame se me cierren los dos . Lo he hecho con esto:

frame2.addWindowListener(new java.awt.event.WindowAdapter(){ //versiones anteriores
public void windowClosing(WindowEvent e){
System.exit(0);
}
}
);


A ver si podeis ayudarme.
Un saludo
  #2 (permalink)  
Antiguo 20/04/2007, 03:12
 
Fecha de Ingreso: julio-2006
Mensajes: 206
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Cerrar Ventana

Porq no pruebas en vez de usar una ventana q llama a otra a utilizar un JDialog?? con System.exit(0) creo entender q lo q haces es terminar con toda la aplicacion por eso t cierra las dos.
  #3 (permalink)  
Antiguo 20/04/2007, 07:40
 
Fecha de Ingreso: febrero-2007
Mensajes: 61
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Cerrar Ventana

para q se te cierre solamente el segundo frame deberias poner en tu codigo frame2.setVisible(false);
Para el manejo del evento cuando apretas la "x" investiga Toolkit.getDefaultToolkit() de java, no recuerdo bien, pero me acuerdo que el jbuilder te generaba un metodo q usaba ese Toolkit para manejar el evento de cierre.
Saludos
  #4 (permalink)  
Antiguo 21/04/2007, 08:57
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años
Puntos: 0
Re: Cerrar Ventana

A ok oye pues muchas gracias!
  #5 (permalink)  
Antiguo 21/04/2007, 10:18
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Cerrar Ventana

Has probado con...

frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOS E);

?
  #6 (permalink)  
Antiguo 22/04/2007, 08:50
Avatar de Asgaroth  
Fecha de Ingreso: abril-2007
Mensajes: 79
Antigüedad: 17 años, 1 mes
Puntos: 4
Re: Cerrar Ventana

lo que dicen es cierto el System.exit(0) termina el programa, lo que tienes que hacer es como dice Ramoncito2 frame2.setVisible(false);

Código PHP:
frame2.addWindowListener(new java.awt.event.WindowAdapter(){ 
        public 
void windowClosing(WindowEvent e){
            
frame2.setVisible(false);
        }
    }
); 
eso es todo
  #7 (permalink)  
Antiguo 22/04/2007, 22:46
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Re: Cerrar Ventana

Hola:

La opción de GreenEyed es la más simple, sólo una línea de código y no es necesario crear un windowListener nuevo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #8 (permalink)  
Antiguo 23/04/2007, 06:02
 
Fecha de Ingreso: julio-2004
Mensajes: 117
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Cerrar Ventana

Aprovecho el tema para preguntar
¿Cuál es la diferencia entre setVisible(false) y dispose()?

Os agradecería que me dieráis un ejemplo que los distinga.

Gracias
  #9 (permalink)  
Antiguo 23/04/2007, 06:54
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 7 meses
Puntos: 454
Re: Cerrar Ventana

Hola:

setVisible() oculta la ventana, pero no la libera de memoria. Un setVisible(true) vuelve a visualizarla.

dispose() oculta la ventana y la pone a disposición del recolector de basura. Si la vuelves a necesitar, tienes que hacer un new nuevo.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #10 (permalink)  
Antiguo 24/04/2007, 09:03
 
Fecha de Ingreso: julio-2004
Mensajes: 117
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Cerrar Ventana

Tomo nota. Muchas gracias chuidiang.
  #11 (permalink)  
Antiguo 25/04/2007, 07:35
 
Fecha de Ingreso: mayo-2005
Mensajes: 294
Antigüedad: 19 años
Puntos: 0
Re: Cerrar Ventana

Hola! Muchas gracias a todos, al final lo que hice fue utilizar el dispose porque es lo que se ajustaba a mis necesidades.Muchas gracias
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 01:15.