Uso básico de elementos Swing con NetBeans – 09 – Uso básico de JOptionPane con eventos. Ej. 04.

Trabajando con JOptionPane desde Java

Otro elemento del JOptionPane es el showInputDialog, la cual permitirá al usuario ingresar datos o seleccionarla de una lista de opciones, dependiendo del caso. Hay dos tipos principales, la primera que nos permite crear un “Array” de objetos, la cual contendrá las opciones que el usuario podrá seleccionar, estos elementos estarán dentro de un combo. La otra solamente muestra un campo de texto en el que el usuario podrá ingresar texto.
Diseñamos un formulario utilizando un JFrame (Nombre del formulario UsoJOptionPane4). En el ejemplo utilizaremos una lista seleccionable de forma individual utilizando JRadioButton, un botón personalizado para ejecutar nuestra selección y un campo de texto JTextField que reflejará nuestra selección. Dependiendo de nuestra selección se ejecutará un modelo de showInputDialog, cada modelo tiene su utilidad en diferentes situaciones. 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 los métodos necesarios 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
    private void inicio(){
//Agrupamos nuestros JRadioButton creados.
ButtonGroup group = new ButtonGroup();
group.add(jRB1);
group.add(jRB2);
//Incicamos que jRB1 este seleccionado de arranque.
jRB1.setSelected(true);
}

private void ver(){
//Comprobamos cuál de las opciones esta seleccionada.
if(jRB1.isSelected()){
//Creamos un Array de objetos para nuestras opciones.
Object[] opt = {"Mercurio", "Venus", "Tierra","Marte","Jupiter"};
//El showInputDialog nos retornará un String.
//Utilizamos nuestra variable de clase creada "String n".
//Esta variable se crea fuera del constructor y cualquier método.
s = (String)JOptionPane.showInputDialog(
null,
"¿De qué planeta eres?",
"Pregunta",
JOptionPane.PLAIN_MESSAGE,
null,
opt,
"Tierra");

//Comprobamos que se seleccionen datos...
if ((s != null) && (s.length() > 0)) {
//Obtenemos el valor de nuestro showInputDialog
rp.setText("Soy del planeta " + s);
}
}
if(jRB2.isSelected()){
s = (String)JOptionPane.showInputDialog(
null,
"¿De qué planeta eres?",
"Pregunta",
JOptionPane.PLAIN_MESSAGE
);

//Comprobamos que se escriban datos...
if ((s != null) && (s.length() > 0)) {
rp.setText("Soy del planeta " + s);
}
}

}
Antes de continuar veremos que método se llama desde el constructor, variables de clase creadas y las importaciones necesarias.
El paso siguiente es establece un evento para nuestro 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 jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
ver();
}
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