La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Java/615204-Validar-Numeros-en-un-Jtextfield.html

Validar Numeros en un Jtextfield

Validar Numeros en un Jtextfield

Publicado por Luisa fernanda (1 intervención) el 27/03/2006 05:38:52
Hola a todos

Soy muy nueva en Java
y necesito para unos jtextfield que solo me permita numeros y para otros solo letras he leido los mensajes y se que para numeros es preferible un JformatedText pero como lo hago? Pues no dicen como. Y he visto que tanto para uno como para otro debo manejar listeners de key o focusAdapter o inputVerifier, pero necesito saber que significa el codigo y donde o como lo programo..yo estoy mas acostumbrada al IDE y a las propiedades.Help!
Por ejemplo: Este codigo no me permite numeros o solo me permite numeros, pues creo que por lo de string debe ser que no me admite numeros. Pregunta 2: inputText vendria a ser el nombre de mi Jtextfield?

inputText.setInputVerifier(new InputVerifier() {
public boolean verify(JComponent comp) {
boolean returnValue = true;
JTextField textField = (JTextField)comp;
String content = textField.getText();
if (content.length() != 0) {
try {
Integer.parseInt(textField.getText());
} catch (NumberFormatException e) {
returnValue = false;
}
}
return returnValue;
}
public boolean shouldYieldFocus(JComponent input) {
boolean valid = super.shouldYieldFocus(input);
if (!valid) {
getToolkit().beep();
}
return valid;
}
});
sin imagen de perfil

RE:Validar Numeros en un Jtextfield

Publicado por chuidiang (950 intervenciones) el 27/03/2006 06:21:37
Hola:

inputText es uno de tus JTextField. Pon el código en el sitio donde construyas el panel con sus JTextField, justo después de hacer los new de los mismos.

Ese código hace que inputText sólo admita números enteros. (Integer.parseInt()). Si el número introducido no es correcto (tiene letras u otra cosa), el JTextField simplemente no te dejará salir de él hasta que sea correcto y emitirá un beep.

Ese código es una forma de hacerlo. El JTextField te deja escribir lo que quieras, pero hasta que no sea correcto, no puedes salir de él.

Otra forma son con los KeyListener (los KeyAdapter que mencionas). Ahi tienes que validar tú tecla a tecla si vale o no. Un editor hecho así no te dejaría escribir caracteres incorrectos. Por ejemplo, si es solo admite numeros, no puedes escribir letras. En http://chuidiang.blogspot.com/2005/10/captura-de-teclas-en-un-jtextfield-de.html tienes un ejemplo hecho así.

Otra forma más es usar un Document. Esta es más fácil que el KeyListener y también impide que escribas cosas que no debes. En http://www.chuidiang.com/java/ejemplos/JTextField/limita_caracteres.html tienes un ejemplo para impedir que metas en un JTextField más caracteres de un número determinado. Cambiando la condición que aparece en el código, podrías restringir para que la entrada sólo sea numérica.

Finalmente, otra opción es usar el JFormattedTextField. En el constructor le pasas un MaskFormatter. Este MaskFormatter tiene un método para decirle setValidCharacter() y setInvalidCharacter() para decirle qué caracteres son o no son válidos.

En fin, como ves, opciones hay muchas.

Se buena.

RE:Validar Numeros en un Jtextfield

Publicado por Elias (1 intervención) el 19/05/2007 17:34:58
aja muy bonito tu discurso, pero coloca el codigo con un ejemplo, mijo del dicho al echo hay mucho trecho

RE: Oie Imbec..pon el codigo

Publicado por Dany (1 intervención) el 13/05/2008 06:28:50
oie compare si no aportadas mejor callate!!!! NO DICES NI CHICHA NI LIMONADA!...pudrete! HACES PERDER EL TIEMPO!

RE:Validar Numeros en un Jtextfield

Publicado por Teresa (1 intervención) el 03/07/2008 00:36:47
eso es algo absurdo espero que me expliques mejor nene

AYUDA PORFA con un Jtextfield

Publicado por José (1 intervención) el 01/10/2008 19:04:58
hola chuidiang, tengo un programa donde tengo k editar para poder consultar algo... lo que no puedo hacer hasta ahora es poder teclear no mas de 5 numeros... la validacion de teclear solo numeros ya la pude hacer pero la validacion de que no se pueda teclear mas de 5 numero no puedo hacer... te agradeceria muchisimo si me pudieras ayudar y mas aun si me mandas un programilla simple para ver donde coloco el codigo... de antemado gracias.

JOSÉ BARTOLO

RE:Validar Numeros en un Jtextfield

Publicado por R2 (1 intervención) el 11/04/2006 16:07:36
Si inputText vendria a ser tu JTextField