Java para programadores (9.7) – Cuadros de dialogo

Los cuadros de dialogo, son objetos independientes de la ventana de trabajo (aunque pueden bloquearla). Normalmente, los utilizaremos para comunicar mensajes o para realizar acciones que por sus características, se ha de realizar aparte de la pantalla principal.

Los diálogos se pueden plantear como modales, en cuyo caso, el proceso principal queda interrumpido hasta que se cierre el cuadro, o no modales (modeless) que permite seguir trabajando con otras pantallas.

Disponemos de tres objetos orientados a la presentación de Diálogos

JOptionPane – Cuadros de dialogo estándar, pensados para pedir confirmación, o solicitar algún dato

JColorChooser – Para elegir colores

JFileChooser – Para elegir ficheros

Para el resto de casos, en donde existe mayor complejidad, siempre nos queda utilizar la clase JDialog

 

Utilización de JOptionPane

Esta clase, nos permite crear y personalizar distintos cuadros de dialogo, controlando el título del cuadro, el icono, el texto del dialogo y el texto del botón.

Dispone de cuatro métodos:

showConfirmDialog() El más simple, presenta un cuadro de dialogo con el título “Seleccione una opción” y acepta respuestas SI, NO, y CANCEL

swing JOptionPane

 

showMessageDialog() Que presenta un simple cuadro con un botón

Para este ejemplo, hemos creado una primera clase que muestra 4 botones radio, para que indiquemos que tipo de mensaje (Información, Error, Aviso o Interrogación) queremos ver.

swing MessageDialog

Hemos suscrito la clase MyItemListener para que reciba los eventos, eso hará que en cualquier cambio que hagamos a la botonera, se llamara inmediatamente a nuestra clase.

En ella, vemos que botón se ha pulsado, e invocamos a showMessageDialog con los parámetros adecuados.

swing JOptionPane

 

 showOptionDialog () Que presenta una pantalla mucho más personalizable

Este método dispone de más parámetros para la personalización.

Parent – Pantalla origen para bloquear, y presentar dentro del parent
String parentComponent mensaje a presentar, puede ser un array de objetos

 

String message Titulo de la ventana

 

messageType Estilo del mensaje. Controla la presentacion

ERROR_MESSAGE

INFORMATION_MESSAGE

WARNING_MESSAGE

QUESTION_MESSAGE

PLAIN_MESSAGE

 

optionType opciones a presentar, para indicar los botones de respuesta

DEFAULT_OPTION

YES_NO_OPTION

YES_NO_CANCEL_OPTION

OK_CANCEL_OPTION

options Array de objetos que han de aparecer en la línea de botones
Icon Icono a presentar, su valor por defecto, lo establece messageType
Title El título del cuadro de dialogo
initialValue El valor por defecto

 

Ejemplo

spring showOptionDialog

Cambiando nombre de los botones, y recogiendo respuesta

swing showOptionDialog

showInputDialog – Presenta un campo de entrada y permite recibir el resultado

Si solo necesitamos recibir una String….

swing showInputDialog

 

En este ejemplo, presenta un desplegable y dejamos prefijada la opción “Dos”(1)

 

Utilización de JColorChooser

En el siguiente programa, vemos como se muestra una pantalla con un botón, y en el evento del mismo, mostramos una ventana JColorChooser para elegir el color; a la vuelta asignaremos el color al fondo de la ventana

swing JColorChooser

Para obtener la ventana y recuperar el valor elegido utilizamos

En donde indicamos la Frame considerada origen, para que se quede bloqueada mientras estamos en diálogo, el título que ha de aparecer en el panel de selección de colores, y el valor actual, para poderlo mostrar al usuario. Cuando se cierre la venta, si han elegido un color, nos lo devolverá y lo recogeremos en newColor, por lo que solo quedará asignarlo al background

 

Utilización de JFileChooser

Este componente está  pensado para elegir ficheros, navegando por el sistema de ficheros, por lo que nos facilitara el fichero con el path completo, para poderlo usar nos basta con crear el objeto JFileChooser y luego llamar al método showOpenDialog(parent) si buscamos un fichero existente o showSaveDialog, si vamos a grabar el fichero. Si nuestra pantalla no se adapta a estas funcionalidades, podemos utilizar showDialog para personalizar el texto que aparece como título. El resto de código lo utilizamos para configurar lo que queremos ver.

En el caso de OpenDialog, cuando se vuelve, se comprueba que se haya seleccionado un fichero

Y si es así, se extraen todos los nombres que han podido ser seleccionados, y se utiliza showMessageDialog para presentar la lista en pantalla.

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Formacion, Java y etiquetada , , . Guarda el enlace permanente.

Deja un comentario