Uso básico de elementos Swing con NetBeans – 07 – Uso básico de JOptionPane con eventos. Ej. 02.

Utilización de showOptionDialog de JOptionPane en Java

En esta guía veremos otro de los elemento del JOptionPane, el showOptionDialog, tiene la función de mostrar una lista de opciones, normalmente la elección entre “Sí” “No”, “Aceptar” “Cancelar” u otras parecidas. En este caso veremos una lista de opciones personalizadas.
Diseñamos un formulario utilizando un JFrame (Nombre del formulario UsoJOptionPane2). La aplicación consiste en un botón que al presionar debe ejecutar un showOptionDialog, con la lista de opciones de la cual seleccionaremos una, cuya selección se reflejará en un cuadro de texto. En la imagen siguiente vemos el diseño de nuestro formulario, cada elemento tiene un nombre de variable como se especifica en la imagen, tomar en cuenta este punto ya que es necesario para referenciar los objetos. Se puede cambiar el “Nombre de variable” de cada objeto haciendo clic derecho sobre la misma y clic en “Cambiar nombre de variable…”. (clic sobre la imagen para ampliar)
Creamos nuestro único método en modo fuente. Los métodos creados por nosotros las ubicamos al final de la declaración de variables, justo antes de la llave de cierre general. Se agregan comentario para aclarar la función de cada línea de código.
Código Java
    //Método que se ejecutará al precionar nuestro boton "btn"
private void opcionDialogo(){
//Array de objetos para nuestras opciones personalizadas.
Object[] obj = {
"Tierra",
"Marte",
"Venus"};
//Se otendrá el valor tipo entero que retorne nuestra selección.
//si son tres valores, van desde el "0" cero. [0,1,2] según el orden.
//Los parámetros son los siguientes, según la documentación.
//showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue)
opt = JOptionPane.showOptionDialog(null, "¿De qué planeta eres?", "Pregunta...",
JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,
null, obj, obj[0]);
//Dependiendo del valor obtenido se mostrará un texto en nuesto JTextField
if(opt >= 0){
if(opt == 0){
rp.setText("Soy de la Tierra");
}
else if(opt == 1){
rp.setText("Soy de Marte");
}
else if(opt == 2){
rp.setText("Soy de Venus");
}
}
}
Antes de continuar veremos que método se llama desde el constructor y la importación necesaria en este caso.
El paso siguiente es establece un evento para nuestro único botón, esto le dará la funcionalidad que necesitamos. El evento que normalmente se utiliza para este tipo de elementos es el ActionPerformed. Si ya vieron alguna guía anterior a esta, podrán saber la ubicación habitual tanto para la lista de eventos, como también los métodos que hayamos creado al igual de la forma en que se implementan estos eventos y llamadas a métodos.
Código Java
    private void btnActionPerformed(java.awt.event.ActionEvent evt) {                                         
opcionDialogo();
}
En este punto ya podremos ejecutar nuestro formulario y comprobar su funcionalidad. (Por si hay alguna duda en el proceso, debemos hacer clic derecho sobre nuestro archivo fuente y presionar “ejecutar archivo” ya que nuestro proyecto no tiene una clase principal definida)

No hay comentarios :

Publicar un comentario