sábado, 17 de octubre de 2009

Obtener datos a través de formularios

La operación de recoger datos que han sido introducidos por el usuario en un formulario es muy frecuente. Una vez obtenidos los datos serán procesados de alguna manera en el código fuente y se mostrarán los resultados obtenidos.

Los componentes más básicos para la recogida de información son los Campos de texto (JTextField) y las Áreas de texto (JTextArea) que permiten al usuario escribir un texto en ellos, diferenciándose en que en las áreas de texto se pueden escribir varias líneas de texto.

La obtención del texto que ha sido escrito por el usuario, a través de código fuente se lleva a cabo utilizando el método getText() sobre esos tipos de componentes.

La definición del método getText es la siguiente:
String getText()
donde se puede observar que no se le pasa ningún parámetro y retorna un String con el contenido del texto que se encuentra escrito en el Campo de texto o el Área de texto sobre el que se aplique dicho método.

Por ejemplo, al obtener el texto de uno de esos componentes, podemos realizar operaciones como las siguientes:
        //Guardar el texto en una variable String
        String saludo;
        saludo = campoSaludo.getText();
       
        //Mostrar el texto en la salida estándar
        System.out.print("Ha escrito: " + campoSaludo.getText());
       
        //Mostrar el texto en otro campo de texto
        campoResultado.setText(campoSaludo.getText());
       
        //Convertir el texto en tipo numérico
        int valorNumérico;
        valorNumérico = Integer.valueOf(campoSaludo.getText());
Conviene recordar que la información que se recoge de los JTextField y JTextArea son cadenas de caracteres (String), por lo que si se desea operar con esos datos de forma numérica, deben ser convertidas al tipo de dato numérico deseado con el método valueOf:
Integer valueOf(String s)
Long valueOf(String s)
Float valueOf(String s)
Double valueOf(String s)
El método valueOf producirá un error durante la ejecución del programa si la cadena de caracteres no se puede convertir al tipo indicado, por ejemplo, si contiene alguna letra.

Como ejemplo vamos a ver cómo se realizaría el cálculo del doble de un valor numérico introducido por el usuario:

La ventana contiene campoNúmero sonde el usuario indicará un número, y campoResultado donde se mostrará el doble del valor escrito.
entrada01
El botón Calcular realizará el proceso de recoger el valor introducido, calcular el doble y mostrar el resultado:
    private void botónCalcularActionPerformed(java.awt.event.ActionEvent evt)
    {
        String textoIntroducido, textoDoble;
        int numIntroducido, valorDoble;
        //Recoger el dato introducido por el usuario
        textoIntroducido = campoNúmero.getText();
        //Convertirlo a tipo numérico
        numIntroducido = Integer.valueOf(textoIntroducido);
        //Calcular el doble
        valorDoble = numIntroducido * 2;
        //Convertir el resultado a texto
        textoDoble = String.valueOf(valorDoble);
        //Mostrar el resultado
        campoResultado.setText(textoDoble);
       
        //Todo lo anterior se podría escribir en una solo línea:
        //campoResultado.setText(String.valueOf(Integer.valueOf(campoNúmero.getText())*2));
    }

No hay comentarios:

Publicar un comentario

 

Contador de visitas