Una de las actividades más comunes en los programas es recibir datos por teclado del usuario para procesar y dar resultados, viendo esto algo muy útil sería recibir datos en un cuadro de dialogo.
Input Dialog
El input dialog es una ventana que tiene un campo que permite escribir en él a través del teclado, luego lo recibido al hacer click en OK es trasladado a nuestro programa en forma de string donde podremos trabajarlo de la forma en que mejor nos parezca.
Para invocar esta funcionalidad solo tenemos que llamar al método JoptionPane.showInputDialog el cuál gestionará todo lo necesario para mostrar la ventana.
Existen dos formas básicas de hacer el llamado a este método, la primera es la siguiente:
JoptionPane.showInputDialog( X )
Donde X es un string en el cual indicaremos el mensaje de la carga inicial, de forma que el usuario tenga instrucciones de que debe colocar.
La segunda forma es un poco más larga pero nos permite agregar más datos a nuestra ventana de ingreso de datos, veamos a continuación como podemos llamarla:
JoptionPane.showInputDialog(null, X, Y, JoptionPane.QUESTION_MESSAGE)
En esta forma X sigue siendo el mensaje que le solicita al usuario el ingreso de datos y Y es el título de la ventana, por último JoptionPane.QUESTION_MESSAGE nos permite agregar un símbolo de interrogación para hacer más énfasis en la consulta.
Utilizar lo Capturado
Una vez capturado lo que el usuario ingresó por teclado, debemos convertirlo al tipo de datos adecuado, en el caso que no sea un string lo que necesitemos, para ello podemos realizar esta conversión de la siguiente forma:
double Valor = Double.parseDouble(ValorIngresado);
En este caso la variable valor será del tipo numérico double y para ello con el Objeto Double invocamos el método parseDouble que toma como argumento lo ingresado por el usuario y que está representado por la variable ValorIngresado. Como vemos esto no resulta muy complejo de ejecutar.
Ejemplo práctico
Vamos ahora a realizar un ejemplo práctico de cómo utilizar estos métodos de forma que podamos aplicar lo aprendido. El programa en cuestión se encargará de pedir la edad y el nombre a un usuario, para ello vamos a emplear el siguiente código:
import javax.swing.JOptionPane; public class NombreEdad { public static void main(String[] args) { //capturamos el nombre String nombreUsuario = JOptionPane.showInputDialog("Hola, por favor escribe tu nombre: "); //capturamos la edad String edadUsuario = JOptionPane.showInputDialog("Muy Bien ahora escribe tu edad: "); //covertimos la edad a double double edad = Double.parseDouble(edadUsuario); //hacemos un calculo con la edad ya convertida double nuevaEdad = edad + 50; //mostramos un mensaje con los valores capturados String resultado = "Hola "+ nombreUsuario +" actualmente tienes una edad de "+edad+" y en 50 anios tendras "+nuevaEdad; JOptionPane.showMessageDialog(null, resultado); } }
Y con ello obtendremos el siguiente flujo de información como vemos en las siguientes imágenes, primero pedimos el nombre:
Luego pedimos la edad:
Por último recibimos una respuesta del programa:
Como vemos, deliberadamente hemos utilizado el tipo de datos Double para que viéramos que en realidad si hace la conversión de los datos ingresados.
Con esto finalizamos este tutorial donde hemos aprendido a ingresar los datos que escriba el usuario en nuestro programa a través de una interfaz gráfica y mostrar lo ingresado por el mismo.