Problemas con los JTextField

Sancho
19 de Abril del 2004
Hola, tengo un problema con los JtextField. Lo que sucede es que estoy haciendo un programa de circuitos digitales, y quiero poner en un JtextField las entradas, y mi prolema es que COMO PUEDO HACER PARA QUE SOLO SE PUEDA ESCRIBIR O 0 O 1, y no cualquier dato que no sean valores binarios.

Muchas gracias, un saludo


No soy usuario
19 de Abril del 2004
Lo que puedes hacer es asociarle un Documento (creo que tienes que heredar de PlainDocument) a tu JTextield, con el metodo setDocument, de forma que en él, controles los caracteres que quieres introducir. El metodo que se invoca cuando se va a introducir el texto es insertString y ésto por tanto es el que tienes que sobreescribir para solo aceptar 0 ó 1, en caso de que no se cumpla esta regla, no invocas al super y por tanto no se escribiría el valor.

Espero que te ayude.
Saludos

Hargrafe
19 de Abril del 2004
HOla,

lo que también puedes hacer es controlarlo en el método del evento de modificación, onChange()
con un poco de lógica...
o también existe una clase JFormatedTextField (aunq no sé cómo se utiliza)
en la que puedes indicar con una máscara qué tipo de valores permites introducir.

A ver si también te ayuda.

Saludos

chuidiang
19 de Abril del 2004
Hay una forma sencilla de hacer eso.
En vez de un JTextField usa un JFormattedTextField.
A este puedes pasarle en el constructor un MaskFormatter, que es una mascara en la que puedes decir que solo quieres 0 y 1.


new JFormattedTextField (new MaskFormatter ("01"));


De todas formas echale un ojo, que tiene más posibilidades, como limitar el numero maximo de caracteres, obligar a ponerlos, etc.

Se bueno