propiedades otro modal example ejemplo caracteristicas bloquear abrir java swing jframe jdialog

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); para JDialog ?

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.