java - otro - ¿Cuál es la diferencia entre un JFrame y un JDialog?
jinternalframe (4)
Por qué no podemos usar
setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);paraJDialog?
Seguro que puede.
Publique su SSCCE que demuestre el problema que está teniendo al usar este valor.
Sin embargo, no puede usar EXIT_ON_CLOSE para un JDialog porque ese valor no es compatible, lo que tiene sentido ya que un JDialog es una ventana "secundaria" o "auxiliar" para su aplicación que está representada por un JFrame . Cerrar un diálogo no debe cerrar la aplicación.
¿Cuál es la diferencia entre un JFrame y un JDialog ?
¿Por qué no podemos usar setDefaultCloseOperation(JDialog.EXIT_ON_CLOSE); para un JDialog?
Hay algunos constructores de JDialog con un parámetro de owner que puede ser un Frame , un Dialog o una Window . Un valor no nulo también hace que el JDialog permanezca por encima de su propietario. Esto es complementario del comportamiento modal descrito por Fortran.
También puede usar setModal(boolean t); Esto solo funciona en JDialog . El usuario debe operar en JDialog no en otra ventana. Si quieren operar ventanas propietarias, deben cerrar este JDialog .
JFrame es una ventana normal con sus botones normales (opcionalmente) y decoraciones. JDialog en el otro lado no tiene botones de maximizar y minimizar y usualmente se crean con métodos estáticos de JOptionPane , y se ajustan mejor para hacerlos modales (bloquean otros componentes hasta que se cierren).
Pero ambos heredan de Window, por lo que comparten mucha funcionalidad.