jairogarcíarincón

Componentes JFrame, JLabel y JDialog: Diálogos modales


18.0K

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.
  4. Desarrolla un juego en Java Swing para jugar a pares o nones contra el ordenador con las siguientes especificaciones:
    1. Tú serás pares y debes poder elegir del 1 al 5 en cada tirada
    2. La máquina será nones y elegirá un número aleatorio del 1 al 5 en cada tirada
    3. Un texto debe mostrar, en otra ventana, el número que tú elegiste, el que eligió la máquina y quién ha ganado.
    4. Esta última ventana permitirá volver a la ventana anterior.
    5. Debes utilizar: jFrame, jDialog, jButton, jLabel e importar las clases necesarias para la lógica matemática.

Fuente: Wikipedia y Diego Moisset. tutorialesprogramacionya.com


Publicado el 21 de Noviembre de 2024

interfacesusuariousabilidad