Ingreso de solo números en JTextField

Necesito poner controles a lo que se ingresa en un JTextField, como es ingresar solo números o solo letras y el numero de caracteres a ingresar, algo parecido a lo que se puede hacer en Visual Basic. Si me puedes ayudar te agradecería mucho

1 respuesta

Respuesta
1
Para realizar estas comprobaciones, en la
clase JTextField existe un método que se llama setInputVerifier al que se le pasa como parámetro un objeto de una clase que implemente el interfaz InputVerifier. Cada vez que el componente pierde el foco se llama al método verify del objeto que has pasado como parámetro, que es el encargado de comprobar que la entrada en correcta. Lo que tienes que hacer es una clase que implemente el interfaz InputVerifier e implementar el método verify de forma que realize la comprobación de tamaño.
Te mando un ejemplo de una clase InputVerifier que testea que el valor del campo sea de tipo float.
En tu caso lo único que tendrás que hacer es modificar la clase para que cuando obtiene el texto del campo compruebe su longitud y muestre un mesaje de error en el caso que sea necesario.
public class FloatVerifier extends InputVerifier
{
public boolean verify(JComponent comp)
{
String txt;
float valor;
txt=((JTextField)comp).getText();
if(!txt.equals(""))
{
try
{
valor=Float.parseFloat(txt);
}
catch(Exception e)
{
JOptionPane. ShowMessageDialog(null,"No se permiten caracteres Alfanuméricos","Formato Incorrecto", JOptionPane.ERROR_MESSAGE);
((JTextField)comp).selectAll();
return false;
}
if(valor<=0)
{
JOptionPane. ShowMessageDialog(null,"El valor deve de ser positivo","Valor Incorrecto", JOptionPane.ERROR_MESSAGE);
((JTextField)comp).selectAll();
return false;
}
else
{
return true;
}
}
else
{
return true;
}
}
}
Agradeceria que finalizaces y evaluases la pregunta, tengo muchas pendientes y la verdad es que casi no me caben.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas