martes, 17 de septiembre de 2024

■ Java showConfirmDialog & showOptionDialog

■ showConfirmDialog

Este tipo de dialogo no solicita al usuario que ingrese ningún dato escrito sino que le pide que elija alguna de las opciones proporcionadas, éstas son "Si", "No", "Aceptar" o "Cancelar", dependiendo de la opción elegida devolverá un int por lo que al usarse debe asignarse a una variable tipo entero para almacenar el valor de la opción seleccionada.

Su estructura es la siguiente:

JOptionPane.showConfirmDialog(null, <mensaje>, <título>, <opciones>, <ícono>);

Donde:
<mensaje> Es el mensaje que queremos mostrar.
<título> Es el título del mensaje.
<opciones> Son los botones que aparecerán, estos son de tipo JOptionPane.
<ícono> Es el ícono que se verá en el mensaje, este es un entero de entre -1 y 3.

Las opciones para los botones son:
JOptionPane.YES_NO_OPTION
JOptionPane.YES_NO_CANCEL_OPTION
JOptionPane.OK_CANCEL_OPTION

Los íconos que se pueden mostrar son:
  • -1  Ningún ícono
  •  0  Error
  •  1  Información
  •  2  Advertencia
  •  3  Pregunta

Ejemplos:

int opcion;


opcion = JOptionPane.showConfirmDialog(null, "¿Desea continuar?", "Registro", JOptionPane.YES_NO_OPTION, 3);




opcion = JOptionPane.showConfirmDialog(null, "¿Desea continuar?", "Registro", JOptionPane.YES_NO_CANCEL_OPTION, 3);



■ showOptionDialog

Este es un tipo de dialogo similar al anterior pero con la característica de que se pueden personalizar sus opciones y no está limitado a tres, su estructura es esta:

JOptionPane.showOptionDialog(null, <mensaje>, <título>, <opcionesArr>, <ícono>, null, <opciones>, <inicial>);

Donde:
<mensaje> Es el mensaje que se mostrará, en este caso la pregunta.
<título> El título del mensaje.
<opcionesArr> Indica que se usarán las opciones del arreglo indicado.
<ícono> El ícono que aparecerá.
<opciones> El arreglo de opciones disponibles.
<inicial> La opción por default.


Ejemplo:




String[] tipo = {"Gratuita", "Básica", "Completa", "Premium"};
int opcion = JOptionPane.showOptionDialog(
    null,
    "¿Qué tipo de suscripción desea?",
    "Registro",
    JOptionPane.DEFAULT_OPTION,
    JOptionPane.QUESTION_MESSAGE,
    null,
    tipo,
    tipo[0]
);


El número de botones dependerá de cuántos elementos tenga el arreglo, en este caso el arreglo es "tipo" y tiene cuatro elementos. El valor devuelto dependerá del botón al que se le haya dado clic, 0 para el primero, 1 para el segundo y así dependiendo del número de opciones.

No hay comentarios:

Publicar un comentario