Limitar entrada de caracteres textfield "s" o "n"

Hola.
Estoy empezando en esto del java y tengo una duda sobre como limitar la entrada de caracteres en un textfield.
Veo que se puede hacer sin problema el limitar la entrada para que sea un string o int sin embargo quería saber como se puede limitar para que la entrada sea una "s" o una "n" (por si y no) o como limitar para que la entrada sea un número (por ejemplo sólo permita la entrada del 1 o el 2.
Muchas gracias.
Un saludo

1 Respuesta

Respuesta
1
Intenta con esto:
Creas el TextField campoTexto:
TextField campoTexto = new TextField ();
-----
CampoTexto. AddKeyListener(new KeyAdapter()
    {
    public void keyTyped(KeyEvent e) {
    char caracter = e.getKeyChar();
    if( ! ((caracter == '1') || (caracter == '2')) && (caracter != KeyEvent.VK_BACK_SPACE))
    {e.consume();}
    else if (campoTexto.getText().length() != 0 && (caracter != KeyEvent.VK_BACK_SPACE))
        {e.consume();}
    }
    });
------ Este otro es para n y s
campoTexto.addKeyListener(new KeyAdapter()
    {
    public void keyTyped(KeyEvent e) {
    char caracter = e.getKeyChar();
    if( ! ((caracter == 'n') || (caracter == 's')) && (caracter != KeyEvent.VK_BACK_SPACE))
    {e.consume();}
    else if (campoTexto.getText().length() != 0 && (caracter != KeyEvent.VK_BACK_SPACE))
        {e.consume();}
    }
    });
---
Lo que hace es verificar que no sea otra cosa que 1 ó 2, o que n y s. También permite que el usuario use la tecla borrar.
Si quieres preguntar algo que dé una respuesta de sí o no, te recomiendo está página.
http://www.experts-exchange.com/Programming/Languages/Java/Q_21428495.html

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas