Validación de ingreso de datos en la interfaz de usuario.

En este tutorial realizaremos la validación de los datos insertados por el usuario. En el ejemplo que vemos a continuación llevamos a cabo la suma de dos números insertados por el usuario. Para ello tenemos que verificar primero que el usuario ha insertado dos números ya que no se puede realizar la suma de ningún otro caracter.

En el primero ejemplo "Adding1", pedimos al usuario que introduzca dos números a través de las cajas de diálogo showInputDialog:

y hacemos la suma de esos dos números:

package com.edu4java.swing.tutrial2;

import javax.swing.JOptionPane;

public class Adding1 {
	public static void main(String[] args) {
		String n1 = JOptionPane.showInputDialog(null, "First Number");
		String n2 = JOptionPane.showInputDialog(null, "Second Number");

		int r = new Integer(n1) + new Integer(n2);

		JOptionPane.showMessageDialog(null, "the result is " + r);
	}
}

Si el usuario inserta los dos números correctamente no hay problema. Sin embargo si el usuario inserta algún otro caracter que no sea un número, salta un error. Para evitar esto realizamos una validación de los caracteres insertados como aparece en el código de la clase "Adding2":

 

package com.edu4java.swing.tutrial2;

import javax.swing.JOptionPane;

public class Adding2 {

	public static void main(String[] args) {
		String n1 = JOptionPane.showInputDialog(null, "First number to add");
		while (!isNumber(n1)) {
			n1 = JOptionPane.showInputDialog(null,
					"Invalid first number. Please insert another number");
		}
		String n2 = JOptionPane.showInputDialog(null, "Second number to add");
		while (!isNumber(n2)) {
			n2 = JOptionPane.showInputDialog(null,
					"Invalid second number. Please insert another number");

		}

		int r = new Integer(n1) + new Integer(n2);
		JOptionPane.showMessageDialog(null, "The result of the addition of: "
				+ n1 + " and: " + n2 + " is " + r);

	}

	private static boolean isNumber(String n) {
		try {
			Integer.parseInt(n);
			return true;
		} catch (NumberFormatException nfe) {
			return false;
		}
	}
}

Si el usuario inserta un caracter diferente a un número, le informamos de que no está insertando un caracter válido y que inserte un nuevo número. Se repetirá hasta que el usuario inserte un dato correcto. Para esto utilizamos la sentencia "while". Primero con el primero número y después con el segundo. Una vez que tenemos los dos números validados, hacemos la suma.

<< Anterior Siguiente >>