COMO UTILIZO keyEvent,
yo poseeo un jtextfield y deseo que solo me digiten numeros, en caso tal que dijiten letras no permitir mostrarlas en la caja de texto, solo los numeros.
Esta es la funcion que he realizado, pero NO bloquea que digiten letras, como hago para que las bloquee.??????
private void anoKeyPressed(java.awt.event.KeyEvent evt) { char c= evt.getKeyChar();
if(!(Character.isDigit(c)))
evt.consume();
}
gracias por su ayuda
Esta es la funcion que he realizado, pero NO bloquea que digiten letras, como hago para que las bloquee.??????
private void anoKeyPressed(java.awt.event.KeyEvent evt) { char c= evt.getKeyChar();
if(!(Character.isDigit(c)))
evt.consume();
}
gracias por su ayuda
Una forma rápida que se me ha ocurrido es la siguiente:
if(!(Character.isDigit(c)))
String s = textField.getText();
try{
textField.setText(s.substring(0, s.length() - 2));
}catch(IndexOutOfBoundsException except){
textField.setText("");
}
}
Sustituyo el texto del textField por el sub-string desde 0 a hasta la posición anterior a la letra que se ha escrito.
La excepción solamente es para el caso en que se escriba un caracter (no númerico) cuando el textField no contiene nada
espero que sirva saludos
if(!(Character.isDigit(c)))
String s = textField.getText();
try{
textField.setText(s.substring(0, s.length() - 2));
}catch(IndexOutOfBoundsException except){
textField.setText("");
}
}
Sustituyo el texto del textField por el sub-string desde 0 a hasta la posición anterior a la letra que se ha escrito.
La excepción solamente es para el caso en que se escriba un caracter (no númerico) cuando el textField no contiene nada
espero que sirva saludos
tengo una clase que te hace eso, hace un tiempo la hice, no permite que teclees otros caracteres que no sean dígitos, aquí está la dirección para q la cheques, cualquier cosa me avisas:
http://www.geocities.com/xtr3m3_sc0rpi0/java/textfield
http://www.geocities.com/xtr3m3_sc0rpi0/java/textfield