Cambiar el ultimo caracter digitado
Cordial saludo a todos.
Mi problema es el siguiente:
Estoy validando el ingreso de informacion a un JTextField para que solo acepte letras y espacios, para ello hice lo siguiente:
private void txtNameUserKeyReleased(java.awt.event.KeyEvent evt) {
int k = (int) evt.getKeyChar();//k = al valor de la tecla presionada
if (!(k >= 97 && k <= 122 || k >= 65 && k <= 90 || k == 32)) {//Si el caracter ingresado es una letra
evt.setKeyChar((char) KeyEvent.VK_BACK_SPACE);
JOptionPane.showMessageDialog(null, "El caracter ingresado no es letra !!!", "Validando Datos",
JOptionPane.ERROR_MESSAGE);
}
}
Mi idea es que si el caracter ingresado no es valido lo borre o nisiquiera se pinte en la pantalla y con ese codigo no funciona ya intente reemplazar el caracter digitado por el codigo ASCII del BACK_SPACE y tampoco me funcionó.
Al guien me puede decir como lo hago ?
Mil gracias por su tiempo y conocimiento.
Gustavo
- Inicie sesión o regístrese para enviar comentarios
JTextField field =
O... puedes usar un formmated textfield que hacen precisamente lo que necesitas. Yo no los he usado, pero aquí esta un guía:
Estaría interesante que nos escribieras como lo resolviste.