Introducir datos utilizando la interfaz gráfica

 

Cómo introducir datos al programa mediante la interfaz gráfica

La lectura de datos utilizando la interfaz gráfica se realiza mediante la clase JOptionPane.

La clase JOptionPane se encuentra en el paquete javax.swing por lo tanto se debe incluir al inicio del programa la instrucción:

import javax.swing.JOptionPane;      

Con la clase JOptionPane se crean ventanas de diálogo estándar para que el usuario introduzca datos al programa y también ventanas de información.

Ejemplo: programa que pide al usuario que introduzca su nombre y a continuación muestra el nombre introducido.

import javax.swing.JOptionPane;
public class EjemploJOptionPane {
     public static void main( String[] args ){
         String nombre = "";
         nombre = JOptionPane.showInputDialog("Escribe tu nombre");                                               
         String msg = "Hola " + nombre + "!";
         JOptionPane.showMessageDialog(null, msg);                                                                
     }
}

La instrucción:

nombre = JOptionPane.showInputDialog("Escribe tu nombre");    

crea una ventana de entrada de datos que muestra un diálogo con un mensaje, un campo de texto y dos botones (Aceptar, Cancelar).

La cadena de caracteres que escribe el usuario se asignará a la variable nombre.

La instrucción:

String msg = "Hola " + nombre + "!";                    

forma un String con el mensaje a mostrar, que se almacena en la variable msg.

La instrucción:

JOptionPane.showMessageDialog(null, msg);                    

muestra una ventana de información que contiene el mensaje (variable msg) y un botón de Aceptar.

Debemos tener en cuenta que los datos introducidos de esta forma son siempre de tipo String. Aunque se introduzcan valores numéricos, JOptionPane devuelve lo introducido como un String. Por lo tanto para trabajar con valores numéricos se debe pasar la cadena de caracteres introducida al tipo de dato correspondiente.

Ejemplo: Programa que lee por teclado dos números enteros y calcula y muestra su suma.

import javax.swing.JOptionPane;
public class Ejemplo2JOptionPane {
   public static void main(String[] args){
        //declaraciones de variables
        int n1, n2, suma;
        String cadena;
        //leer el primer número
        cadena = JOptionPane.showInputDialog(null, "Introduce el primer número entero");                          
        n1 = Integer.parseInt(cadena); //obtener el int a partir del String cadena
        //leer el segundo número
        cadena = JOptionPane.showInputDialog(null, "Introduce el segundo número entero");                         
        n2 = Integer.parseInt(cadena);  //obtener el int a partir del String cadena
        
        suma = n1 + n2;
        
        //mostrar resultados
        JOptionPane.showMessageDialog(null, "Ha introducido los números " + 
                                             n1 + " y " + n2 + "\nSuma: " + suma);
   }
}

El método Integer.parseInt(cadena); es el encargado de convertir en int el String contenido en la variable cadena

Después de introducir los datos por teclado, se convierten a int, se suman y finalmente se muestran los números introducidos y el resultado de la suma:


 

Puedes consultar todas las posibilidades que ofrece la clase JOPtionPane: en este enlace:

https://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html 


2 comentarios:

  1. Muy bien explicado, muchas gracias.

    ResponderEliminar
  2. Muy buena la información, pero faltan esos diálogos que muestran información como: de advertencia, error, información. Me gustaría que explicarás como añadir esos tipos de dialogos

    ResponderEliminar