Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/01/2007, 08:00
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 4 meses
Puntos: 454
Re: Cerrar JDialog !!

Hola:

Un dialogo puedes cerrarlo son setVisible(false) o con dispose(). El primero simplemente oculta la ventana, pero la deja en memoria porque supone que la vas a volver a usar con setVisible(true). El segundo manda la ventana al recolector de basura, por lo que se supone que no la vas a usar más.

En cuanto a lo de no cerrarse con lo de la x, pueden ser tres cosas.

Si la x ni siquiera se aprieta, es porque hay otra ventana modal abierta. Hasta que no cierres la ventana modal, la primera queda "deshabilitada" completamente.

Otro posible motivo por el que quizas no se apriete puede ser que abras varias ventanas, unas modales y otras no, pero no hagas bien la jerarquia de padres entre las modales. Esto produce efectos secundarios raros, como ventanas modales que deberían estar habilitadas y no lo estan, ventanas que se van al fondo misteriosamente o que se ocultas solas.

Si la x se aprieta, pero la ventana no se oculta, puede ser por el metodo setDefaultCloseOperation(). Este metodo es para decirle a la ventana qué debe hacer cuando se pulse la x. Lo normal es un HIDE_ON_CLOSE (ocultar). Pero puedes poner tambien EXIT_ON_CLOSE (hace un exit() del programa completo), DISPOSE_ON_CLOSE (destruye la ventana) o NOTHING_ON_CLOSE (no hace nada). Tendrás que revisar la sintaxis exacta de estos _ON_CLOSE, porque la he puesto de memoria. Los tienes en la clase WindowConstants.

Se bueno.
__________________
Apuntes Java
Wiki de Programación