Joptionpane

Páginas: 7 (1518 palabras) Publicado: 8 de septiembre de 2011
JOptionPane y diálogos modales
Introducción JOptionPane y Diálogos modales
En nuestras aplicaciones Java Swing es bastante habitual que tengamos que pedir al usuario la confirmación de una acción (por ejemplo, salir de la aplicación o borrar unos datos), pedirle algún dato sencillo, darle a elegir entre varias acciones o simplemente mostrarle un aviso. A veces es necesario para estas accionesabrir una ventana secundaria donde el usuario debe realizar la acción que sea y cerrarla. Por ejemplo, podemos mostrarle una ventana preguntando algo como "¿Estás seguro que quieres borrar todos esos datos?" y que tenga un par de botones de "Sí, estoy seguro" y "No, no creo".
Afortunadamente, en java no tenemos que hacer esas ventanas. Para las acciones más habituales, ya tenemos la claseJOptionPane que muestra esas ventanas por nosotros y nos devuelven la elección hecha por el usuario. En otras ocasiones, nos tendremos que hacer una ventana a nuestra medida, pero si usamos un JDialog modal, al menos tendremos la ventaja de que el código esperará a que el usuario introduzca los datos en dicha ventana.
Vamos a ver en este artículo ejemplos con JOptionPane y Diálogos modales. En elsiguiente enlace puedes ver todo el código detallado de estos ejemplos con JOptionPane y Diálogos modales.
JOptionPane
JOptionPane tiene dos juegos repetidos de ventanas de aviso/confirmación. Una para ventanas normales y otra para JInternalFrame. Puesto que son lo mismo, vamos a ver aquí sólo los de ventanas normales. Las distintas posibilidades que tenemos de JOptionPane son: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 esla 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, aunquevale 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 mensajeestamos 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 posiblesopciones. 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 quehayamos 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...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Joptionpane
  • JOPTIONPANE
  • La Clase Joptionpane
  • Java
  • Introduccion Joptionpane
  • Joptionpane
  • Joptionpane
  • Joptionpane en java (cuadros de dialogo)

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS