JOptionPane.showOptionDialog()
Tenemos un método JOptionPane.showOptionDialog()
que nos muestra la ventana más configurable de todas, en ella debemos definir
todos los botones que lleva. De hecho, las demás ventanas disponibles con JOptionPane
se construyen a partir de esta. Por ello, al método debemos pasarle muchos
parámetros:
- parentComponent: A
partir de este componente, se intentará determinar cual es la ventana que
debe hacer de padre del JOptionPane. Se puede pasar null,
pero conviene pasar, por ejemplo, el botón desde el cual se lanza la
acción que provoca que se visualice el JOptionPane. De esta manera,
la ventana de aviso se visualizará sobre el botón y no se podrá ir detrás
del mismo si hacemos click en otro sitio.
- message: El
mensaje a mostrar, habitualmente un String, aunque vale cualquier Object
cuyo método toString() devuelva algo con sentido.
- title: El
título para la ventana.
- optionType: Un
entero indicando qué opciones queremos que tenga la ventana. Los posibles
valores son las constantes definidas en JOptionPane: DEFAULT_OPTION,
YES_NO_OPTION, YES_NO_CANCEL_OPTION, o OK_CANCEL_OPTION.
- messageType: Un
entero para indicar qué tipo de mensaje estamos mostrando. Este tipo
servirá para que se determine qué icono mostrar. Los
posibles valores son constantes definidas en JOptionPane: ERROR_MESSAGE,
INFORMATION_MESSAGE, WARNING_MESSAGE, QUESTION_MESSAGE, o PLAIN_MESSAGE
- icon: Un
icono para mostrar. Si ponemos null, saldrá el icono adecuado según
el parámetro messageType.
- options: Un
array de objects que determinan las posibles opciones. Si los
objetos son componentes visuales, aparecerán tal cual como opciones. Si
son String, el JOptionPane pondrá tantos botones como String.
Si son cualquier otra cosa, se les tratará como String llamando al
método toString(). Si se pasa null, saldrán los botones por
defecto que se hayan indicado en optionType.
- initialValue:
Selección por defecto. Debe ser uno de los Object que hayamos
pasado en el parámetro options. Se puede pasar null.
La llamada a JOptionPane.showOptionDialog()
devuelve un entero que representa la opción que ha seleccionado el usuario. La
primera de las opciones del array es la posición cero. Si se cierra la ventana
con la cruz de la esquina superior derecha, el método devolverá -1.
Aquí un ejemplo de cómo llamar
a este método
int
seleccion = JOptionPane.showOptionDialog(
unComponentePadre,
"Seleccione opcion",
"Selector de opciones",
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE,
unIcono,
// null para icono por defecto.
new Object[] { "opcion 1",
"opcion 2", "opcion 3" },
// null para YES, NO y CANCEL
"opcion 1");
if
(seleccion != -1)
System.out.println("seleccionada opcion
" + (seleccion + 1));
y la ventana que se obtiene
con el código anterior

No hay comentarios:
Publicar un comentario