Validación de entero en java con JTextField

Que tal tengo nuevo código para la validación de un campo de texto para que acepte únicamente números, bueno después de una larga búsqueda por la web y nada me dio un resultado, aquí les pongo mi solución.

Empezaremos por tener ya listo un JTextField en mi caso llama "txtVenta" entonces crearemos una clase para crear un KeyListener. El código es el siguiente:

//Esta clase extiende de KeyAdapter
class miKeyListener extends KeyAdapter{
javax.swing.JTextField txtVenta; //se crea una variable de tipo JTextField

public miKeyListener(javax.swing.JTextField txtVenta){//Constructor de la clase que recive el JTexField
this.txtVenta=txtVenta; //se asigna la referencia del JTextField a la variable
}

public void keyReleased(KeyEvent arg0) {
borraFinal(arg0);//se hace llamado del método pasando como parametro la tecla que fue preionada
}

//Método que recibe la tecla liberada
private void borraFinal(KeyEvent arg0){
//el 0=48 - 9=57, entonces obtenemos el Código y se compara con los valores
if((arg0.getKeyCode()<48) ||(arg0.getKeyCode()>57)){
String cadena=txtVenta.getText(); //se obtiene el texto en una cadena
int longitud=cadena.length();//obtenemos la longitud de la cadena que esta en el JtextField
char[]tmpCadena= cadena.toCharArray();// La convertimos en un vector de caracteres
tmpCadena[(longitud-1)]=' ';//en la última posición del vector asignamos un espacio en blanco
cadena=""; // limpiamos la cadena para su próxima utilización

for(int i=0;i<=(longitud-1);i++){ //con el ciclo concatenamos el vector para convertirlo a cadena
cadena=cadena+tmpCadena[i];
}
txtVenta.setText(cadena.trim());//quitamos los espacios en blanco de la cadena haciendo uso de la fuuncion "trim"
}
}
}

Ahora ya que tenemos lista nuestra clase le agregamos un keyListener a nuestro JTextFlied, esto se haria de la siguiente forma:

btnVenta.addKeyListener(new miKeyListener(btnVenta));

Comentarios

Entradas populares