Вы находитесь на странице: 1из 4

JOptionPane - Cuadros de Dilogos

Un cuadro de dilogo no es ms que una ventana que nos permite mostrar mensajes, por ejemplo, de
error, de advertencia o de informacin, o para pedir el ingreso de un valor, adems nos permite
solicitar al usuario su intervencin para decidir si se realizar o no una accin, como ser los mensajes
de confirmacin.
JOptionPane es una clase de la biblioteca Swing (que contiene las libreras de interfaz grfica de
usuario), para poder usar sus mtodos es necesario importarla: import
javax.swing.JOptionPane;

Podemos mencionar que JOptionPane tiene bsicamente 4 mtodos, que definen la manera y la
funcionalidad con la que se mostrar un cuadro de dilogo:

showMessageDialog(): muestra un cuadro de dilogo al usuario,


normalmente de carcter informativo, como mnimo recibe 2 parmetros: el componente padre (que
puede ser null) y una cadena de caracteres que corresponde al mensaje a ser mostrado. Tambin
puede recibir como parmetro una cadena que ir como ttulo del cuadro y el tipo de mensaje a
mostrarse (determinado por una constante de la clase JOptionPane).
Parmetros:
* Component componentePadre: el componente al que pertenece.
* Object mensaje = es el objeto que corresponde al mensaje (texto) a mostrarse.
* String titulo = texto que ser el ttulo del cuadro de dilogo.
* int tipoDeMensaje = definido por una constante de la clase JOptionPane
Sintaxis:
JOptionPane.showMessageDialog(this, "Este es un mensaje simple");
Aqu se le enva como componente padre el objecto actual; es interesante esta prctica ya que de esta
manera el formulario se bloquear mientras est abierto el cuadro de mensaje, impidiendo que se
efecten otras acciones, en cambio si se le pasa null en vez de un objeto el formulario (padre) al que
pertenece estar disponible para otras acciones (lo que estara incorrecto).
Resultado:

Sintaxis:
JOptionPane.showMessageDialog(this, "Este es un mensaje detallado", "xito!",
JOptionPane.INFORMATION_MESSAGE);
Como se puede ver, lo diferente est en que se le pasan dos argumentos ms a parte del componente
padre y del mensaje a mostrarse, el tercer parmetro es lo que se situar como ttulo del cuadro de
dilogo y el ltimo parmetro es la constante que define el tipo de mensaje a ser mostrado.
Resultado:
Constantes de JOptionPane: los mensajes pueden ser de
tipo informativo
(INFORMATION_MESSAGE), de error (ERROR_MESSAGE), de advertencia
(WARNING_MESSAGE), mensaje plano (PLAIN_MESSAGE) o mensaje interrogativo
(QUESTION_MESSAGE) aunque el uso de este ltimo tipo de mensaje no tiene mucho sentido
para este caso.
Ejemplos

showOptionDialog(): podramos decir que gracias a este mtodo podemos


obtener un cuadro de dilogo ajustado a nuestra necesidad, ya que es totalmente configurable.
Parmetros:
* componentePadre = el objeto que indica de qu componente es hijo.
* objetoMensaje = un String que corresponde al texto a mostrarse como mensaje.
* Titulo = String que se establecer como ttulo de la ventana.
* TipoDeOpcion = es un entero, representado por unas constantes que definen qu
opciones tendr el cuadro de dilogo. Puede ser: DEFAULT_OPTION, YES_NO_OPTION,
YES_NO_CANCEL_OPTION, YES_CANCEL_OPTION.
* TipoDeMensaje: entero que determina el tipo de mensaje (ERROR_MESSAGE, por
ejemplo).
* Icono = la imagen que acompaar al mensaje, si no se especifica (es decir, se
pasa null) se establecer uno por defecto de acuerdo al tipoDeMensaje.
* Opciones = un array tipo Object que indica las opciones posibles, normalmente debe ser
coherente con el tipoDeOpcion elejido.
* ValorInicial = es la opcin predeterminada, deber ser una de las opciones introducidas
en el array de opciones. Puede ser null.
Ejemplo:
- Sintaxis:
int seleccion = JOptionPane.showOptionDialog(btn_Option, "Este es un cuadro de
dialogo Option", "showOptionDialog", JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, null, new Object[] {"Si", "No","Cancelar"},
"Si");
Retorna un entero que corresponde a la opcin seleccionada por el usuario, como sabrn, el valor del
entero corresponde a la posicin que ocupa la opcin en el array es decir si se selecciona "No"
devolver 1 (uno) , ya que la primera posicin de un array es 0 (cero).
- Resultado:

showInputDialog(): sirve para mostrar una ventana que permita ingresar


datos (una cadena, texto, nmeros, etc.). Los parmetros que puede recibir son los mismos que los
del MessagaDialog.
Ejemplo:
- Sintaxis:
String texto = JOptionPane.showInputDialog (this, "Ingrese un texto: ",
"showInputDialog",JOptionPane.INFORMATION_MESSAGE);
- Resultado:

Nota: Cuando lo que se va a ingresar es un nmero, se debe realizar una conversin para poder
utilizarlo como tal. Por ejemplo:
int numero = Integer.parseInt(JOptionPane.showInputDialog (this, "Ingrese un
nmero: ", "showInputDialog",JOptionPane.INFORMATION_MESSAGE));
Pero esto debemos controlar que se escriban slo nmero para que no arroje errores en la conversin,
podramos solucionar tan slo encerrndolo en un try-catch

showCofirmDialog(): mtodo que nos sirve para solicitar al usuario la


confirmacin de una determinada accin. Puede establecerse los distintos parmetros antes
mencionados, como por ejemplo el componente padre, mensaje, titulo y tipo de mensaje. Para el
tipo de mensaje las constantes posibles son: YES_NO_OPTION, YES_NO_CANCEL_OPCION,
YES_OPTION, NO_OPTION, CANCEL_OPTION
Ejemplo:
- Sintaxis:
int opcion = JOptionPane.showConfirmDialog(this, "Desea seguir ejecutando la
aplicacin?", "Seleccione una opcin", JOptionPane.YES_NO_OPTION);
- Resultado:

Retorna un entero que corresponde a la opcin seleccionada por el usuario.

Hasta aqu, se puede hacer uso de todas las funcionalidades que nos facilita la clase JOptionPane,
adems de darle un toque ms elegante a nuestro programa.

Вам также может понравиться