QUE ES JOPTIONPANE

JOPTIONPANE
Que Es Una Ventana De Dialogo En Java?
…”ventana que permite comunicación simple entre el usuario y el sistema informático.”
Para Que Sirve Un Cuadro De Dialogo en Java?
Los cuadros de dialogo (JOptionPane) son “herramientas” muy útiles al momento de ingresar datos y mostrar información; digo útil ya que con estas no necesitamos crear objetos de tipo BufferedReader y “tirar” más código para poder usar correctamente los datos que se ingresan como lo expliqué brevemente cuando explique sobre como ingresar datos en Java por consola.
Librerías Para Usar Cuadros De Dialogo En Java
Para poder poder usar estos cuadros de dialogo hay que importar la librería necesaria para que esta se ejecute, la cual es:
import javax.swing.JOptionPane;
También podemos hacer lo siguiente:
import javax.swing.*;
Con lo anterior cargaremos todas las librerías que contenga swing pero esto es innecesario ya que cargaremos librerías que no usaremos.
Tipos De Cuadros De Dialogo En Java
Entre los tipos de cuadros dialogo encontraremos: showConfirmDialog, showInputDialog, showMessageDialog y showOptionDialog. Los mas usados son los tres primeros. Ahora si, aprendamos a usar JoptionPane En Java.
showMessageDialog
Este cuadro de dialogo es ideal para mostrar información de cualquier tipo, este reemplaza el System.out.print(); La sintaxis es:
– Como observamos en la anterior linea, lo que va dentro de las “…” es el texto que deseemos mostrar, para estos mensajes también se puede usar la concatenación para mostrar el texto y variables a la misma vez.
– Lo que se ve al ejecutar la aplicación es lo siguiente:
JOptionPane.ShowMessageDialog.....
showInputDialog
Este cuadro de dialogo es ideal para ingresar datos, hay que tener en cuenta que todo lo que se reciba se tomara como un String, pero esto no es problema para trabajar con otros tipos de datos, en tal caso es necesario convertir la cadena que se recibe en el tipo de dato que necesitemos (int, Float, double, etc). La sintaxis es las siguiente:
– En la linea 1 cree una variable de tipo String la cual llamé “ax”, en esta variable almaceno el dato que se ingresa con el showInputDialog, al igual que el showMessageDialog lo que va dentro del “…” es el mensaje que mostramos al usuario.
– En la linea 2 muestro el dato que recibí atravez de la variable ax.
– Al ejecutarse la aplicación veremos lo siguiente:
http://jagonzalez.org/wp-content/uploads/2011/10/JOption002.png
http://jagonzalez.org/wp-content/uploads/2011/10/JOption003.png
showConfirmDialog
Este cuadro de dialogo es de tipo entero, por lo tanto hay que crear una variable de tipo int para manejar las opciones que este cuadro de dialogo ofrece, las anteriores son si, no, y cancelar; la sintaxis es la siguiente:
– En la linea 1 se puede observar que cree una variable entera, el null que se antepone al mensaje es necesario, ya que este se toma cuando el usuario pulsa la tecla Esc o presiona Cancelar, el mensaje a mostrar se usa como en los anteriores cuadros de dialogo.
– En las lineas 2 y 4 se usan condicionales para tomar las acciones respectivas de acuerdo a la opción que haya dado el usuario.
– En las lineas 3 y 5 se muestran mensaje correspondientes a la respectiva opción que haya dado el usuario.
http://jagonzalez.org/wp-content/uploads/2011/10/JOption004.png
Si seleccionamos  veremos el siguiente cuadro de dialogo:
http://jagonzalez.org/wp-content/uploads/2011/10/JOption005.png
Si por el contrario seleccionamos NO veremos el siguiente cuadro de dialogo:
http://jagonzalez.org/wp-content/uploads/2011/10/JOption006.png
Los anteriores son los cuadros de dialogo mas usados, ya que con estos podemos realizar cosas básicas pero muchas veces necesarias para el buen desarrollo de una aplicación. Cabe aclarar que lo anterior no es lo único que se puede hacer, pero lo mas avanzado lo explicare mas adelante 
Para finalizar mostrare el codigo necesario para trabajar con números intFloatDoubleLong:
– Hay que tener en cuenta que lo anterior se hace con JOptionPane.showInputDialog y que en las “…” va el mensaje que deseamos mostrar al usuario para guiarlo en la operación.
Personalizar Opciones En Cuadro De Dialogo
Las anteriores ventanas de dialogo en Java nos proveen una serie de opciones predefinidas para que el usuario pueda escoger. Pero también podemos personalizar los cuadros de diálogos con nuestras propias opciones, para esto usamos showOptionDialog.
Para nuestras opciones personalizadas, tendremos que tener un arreglo de String, veamos el siguiente ejemplo:Ver Código....
JOptionPane


Los JOptionPane son dialogos que nos facilitan la forma de mostrar mensajes, introduir datos, confirmar datos, etc. Esta clase tiene una gran varidad de metodos que hace facil la modificacion de los dialogos. Esta clase posee unos metodos staticos ya predefinidos y son:

Imágenes

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4gWDgYGoCCiKj5zKHtwu_OXwM5mnia1USQXkUe5XfV9z9qU5Uvfccg7RWqC39V9qV5ZMLOPOVgXUf5CFCCkGm12C04W1EhxjwHxfkXAbuCeXHZ_uC0IrvYOlaPJrZdzBPfhqKuRv8Smg/s320/joptionpane1.png

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZVC34mairzrzdj7gBpqCSav5cyc3yP7lcpYiVStZ6w0nSa94Ln2JpfrC-seShXpiGsZnmAkRCJestblFIzjOg_L92evBZXTrFxlOnbiWN-M16DUh3YS-lowreqlQzILsoyszw2pzDYMQ/s320/joptionpane2.png




showMessageDialog

Este metodo nos muestra un texto. Es util para darle informacion al usuario sobre algo que esta ocurriendo en el programa.

¿Como se crea?

JOptionPane.showMessageDialog(Component componente,Object mensaje);

Este crea un cuadro de dialogo que muestra un mensaje, el parametro componente es el componente que va a llamar a este cuadro de dialogo y se usa para que la ubicacion sea relativa al parametro que se proporcionó, si es null el cuadro de dialogo se en el centro de la pantalla.

JOptionPane.showMessageDialog(Component componente,Object mensaje, String titulo, int tipo_de_mensaje);

Esta instruccion crea un cuadro de dialogo que muestra un mensaje y con el titulo especificado. El ultimo parametro nos indica que tipo de mensaje es y existen las siguientes posibilidades:
·         ERROR_MESSAGE
·         INFORMATION_MESSAGE
·         WARNING_MESSAGE
·         QUESTION_MESSAGE
·         PLAIN_MESSAGE
JOptionPane.showMessageDialog(Component componente,Object mensaje, String titulo, int tipo_de_mensaje,Icon icono);

Esta instruccion crea un cuadro de dialogo que muestra un mensaje y con el titulo especificado. Ademas se envia un entero para definir el tipo de mensaje, para esto existe cinco constantes que fueron definidas anteriormente, estas constantes estan en la clase JOptionPane y se llaman asi, por ejemplo:  JOptionPane.ERROR_MESSAGE. El ultimo parametro es un icono, si se coloca null se colocara el icono predeterminado por el tipo de mensaje.

showInputDialog

Este método nos ayuda a pedirle al usuario alguna información.

¿Como se crea?

JOptionPane.showInputDialog(Object mensaje);

Esto nos crea un cuadro de dialogo en el que se nos pide digitar algun valor.

JOptionPane.showInputDialog(Component componente, Object mensaje);

Esto nos crea un cuadro de dialogo para ingresar algún valor y ademas hay que mandarle el componente que llama a este método para que este cuadro de dialogo se ubique relativamente al que lo llamo.

JOptionPane.showInputDialog(Object mensaje, Object texto_inicial);

Esto nos crea un cuadro de dialogo para ingresar algún valor y también hay que mandarle un texto que queremos que salga inicialmente.

JOptionPane.showInputDialog(Component componente, Object mensaje, Object texto_inicial);

Esto nos crea un cuadro de dialogo para introducir algún valor, ademas se le manda un valor para que salga inicialmente y se le manda el componente que lo llama para que este cuadro de dialogo se ubique relativamente al que lo llamo.

JOptionPane.showInputDialog(Component componente, Object mensaje, String titulo, int tipo_de_mensaje);

Esto nos crea un cuadro de dialogo para introducir algún dato, se le manda el texto que desea que salga, el titulo del cuadro de dialogo, el componente que lo llama para la ubicación y un entero que indica el tipo de mensaje.

JOptionPane.showInputDialog(Component componente, Object mensaje, String titulo, int tipo_de_mensaje, Icon icono, Object[] opciones, Objetc opcion_inicial);

Esto nos crea un cuadro de dialogo para introducir un dato, se le manda el componente para la ubicación del cuadro de texto, se le manda el mensaje que queremos que salga, también mandamos el titulo del cuadro de dialogo, un entero que representa el tipo de mensaje ya se definieron las posibles constantes para este parámetro en la parte de arriba. También mandamos un icono, si le colocamos null se coloca el icono por defecto del tipo de mensaje. Se le mandan un array con las posibles opciones a escoger y por ultimo se le manda la opción que por defecto debería salir primero.

showConfirmDialog

¿Como se crea?

JOptionPane.showConfirmDialog(Componente componente, Object mensaje);

Con esta instrucción se crea un cuadro de dialogo, aquí mandamos dos parámetros uno es el componente que llamo a este cuadro de dialogo y el otro es el mensaje.

JOptionPane.showConfirmDialog(Componente componente, Object mensaje, String titulo, int tipo_de_opcion);

En esta ocasión se manda cuatro parámetros, el  primero es el componente para que la posición del cuadro de dialogo sea relativa a la del componente que lo llamo, el segundo parámetro es el mensaje que deseamos que salga, el tercer parámetro es el titulo del cuadro de dialogo y el cuarto parámetro es el tipo de opción, para este parámetro existen cuatro opciones:

·         DEFAULT_OPTION
·         YES_NO_OPTION
·         YES_NO_CANCEL_OPTION
·         OK_CANCEL_OPTION

JOptionPane.showConfirmDialog(Componente componente, Object mensaje, String titulo, int tipo_de_opcion, int tipo_de_mensaje);

Este es igual al anterior solo te da la opción en el quinto parámetro de indicar el tipo de mensaje, las constantes para este parámetro están en la parte superior de este mensaje.


JOptionPane.showConfirmDialog(Componente componente, Object mensaje, String titulo, int tipo_de_opcion, int tipo_de_mensaje, Icon icono);

En este ademas de todos los parámetros indicados arriba, también le puedes pasar un icono.


showOptionDialog

¿Como se crea?

JOptionPane.showOptionDialog(Component componente, Object mensaje, String titulo, int tipo_de_opcion, int tipo_de_mensaje, Icon icono, Object[][] opciones, Object opcion_inicial );


Este es el método mas configurable, ya que nos da la posibilidad de modificar casi toda la estructura del cuadro de dialogo, por esto solo tiene este constructor.

Se le manda el componente que lo llamo para ubicar el cuadro de dialogo relativamente al componente que lo llamo, si se manda null este cuadro de dialogo saldrá en el centro de la pantalla. Se le manda el mensaje que queremos que muestre, se le manda el titulo, un entero que representa los tipos de opciones, esto tiene que ver con los botones, dependiendo el tipo de opción salen unos u otros botones. También se le manda un entero que indica el tipo de mensaje, ya sea de error, de precaución, de información, etc. Se le manda un icono, si es null se coloca el icono del tipo de mensaje. Ademas se le envía un array de objetos, y estos objetos son las posibles opciones que podemos tomar en el cuadro de dialogo y por ultimo se le manda un objeto el cual va ha ser la opción que va ha salir seleccionada.

Applet

Este Applet nos muestra como utilizar cada uno de los cuadros de dialogo que hay, es un applet sencillo, pero muy claro.


Codigo del Applet,

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class Principal extends JApplet{

 public void init(){
  JPanel p=new JPanel();
  JButton b1=new JButton("Mensaje");
  b1.addActionListener(new ActionListener() {
  
   public void actionPerformed(ActionEvent arg0) {
    JOptionPane.showMessageDialog(null, "JavaZone");
   }
  });
  JButton b2=new JButton("Ingresar datos");
  b2.addActionListener(new ActionListener() {
  
   public void actionPerformed(ActionEvent arg0) {
    String edad=JOptionPane.showInputDialog("Ingrese su edad");
    JOptionPane.showMessageDialog(null, edad);
   }
  });
  JButton b3=new JButton("Confirmar");
  b3.addActionListener(new ActionListener() {
  
   public void actionPerformed(ActionEvent arg0) {
    int opcion=JOptionPane.showConfirmDialog(null, "Le ha servido de algo la informacion de JavaZone");
    if(JOptionPane.OK_OPTION==opcion){
     JOptionPane.showMessageDialog(null, "A usted si le sirvio");
    }else{
     JOptionPane.showMessageDialog(null, "A usted no le sirvio, dejenos sus comentarios o inconvenientes para poder mejorar");
    }
   }
  });
  JButton b4=new JButton("Dialogo General");
  b4.addActionListener(new ActionListener() {
  
   public void actionPerformed(ActionEvent arg0) {
    JOptionPane.showOptionDialog(null, "JavaZone te saluda", "Bienvenida", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, null, null);
   }
  });
  p.add(b1);
  p.add(b2);
  p.add(b3);
  p.add(b4);
  add(p);
 }
}

Para este Applet solo cree cuatro botones y se los agregue a un panel, y luego agregue el panel al Applet. Cada boton ejecuta un cuadro de dialogo diferente.

TOMADO DE INTERNET http://www.myjavazone.com/2010/06/joptionpane.html



No hay comentarios:

Publicar un comentario