jairogarcíarincón

Componentes JFrame, JLabel y JDialog: Diálogos modales


16.7K

JFrame y JLabel



Si bien utilizar la paleta de ayuda de Netbeans resulta muy útil, es preciso definir cómo funcionan los componentes de interfaces visuales de Swing para, más adelante, poder desarrollar aplicaciones más complejas. Para ello realizaremos un primer ejemplo de creación de interfaces pero sin utilizar la paleta. Para ello creamos un nuevo proyecto Java en Netbeans con una clase principal e incorporamos el siguiente código.

Ejemplo 4: Crear un JFrame con un texto que diga "Hola Mundo"



JDialog: Diálogos modales



Cuando nuestra aplicación necesita más de una ventana, debemos utilizar ventanas secundarias mediante el componente JDialog.

Un JFrame no admite a ninguna otra ventana como padre. El JDialog sí admite como padres un JFrame u otros JDialog. Esto es importante porque una ventana hija siempre quedará por encima de su ventana padre. Si al crear los JDialog les pasamos el JFrame como padre o parent, los JDialog siempre estarán visibles por encima del JFrame. No se podrán ir "detrás" de él.

Si además, en el constructor del JDialog ponemos a true el flag que indica que es modal, además de pasarle una ventana padre, entonces el JDialog impedirá el acceso a las otras ventanas hasta que se cierre.

Ejemplo 5: Crear una ventana con un botón que lleve a otra ventana e impida que se abran nuevas ventanas hasta que se cierre la anterior. Éste sería el código del JFrame:



Y éste sería el correspondiente al JDialog.



Prueba ahora a cambiar el valor de modal a false y comprueba que puedes abrir tantas ventanas secundarias como quieras.

Ejercicios propuestos:

  1. Crear una ventana de 1024 píxeles por 800 píxeles. Luego no permitir que el operador modifique el tamaño de la ventana. Sabiendo que hacemos visible al JFrame llamando la método setVisible pasando el valor true, existe otro método llamado setResizable que también requiere como parámetro un valor true o false.
  2. Crear tres objetos de la clase JLabel, ubicarlos uno debajo de otro y mostrar nombres de personas.
  3. Disponer dos objetos de la clase JButton con las etiquetas: "carne" y "pescado", al presionarse cada botón abrir una nueva ventana que muestre la opción elegida, no permitiendo elegir otra opción mientras no se cierre la anterior.


Fuente: Wikipedia y Diego Moisset. tutorialesprogramacionya.com


Publicado el 21 de Octubre de 2021

interfacesusuariousabilidad