# Eingabe von Buchstaben verhindern



## Fourcorner (3. Apr 2005)

Hallo

ich will verhindern, dass in ein TextField ein Buchstaben eingegeben werden kann.
Meine Ansatz:



```
public void keyTyped(KeyEvent e) {
  if (e.getKeyChar() != '1') //die 1 ist hier nur als Platzhalter für die Restlichen Zahlen von 0 bis 1
  {
     //Hier soll nun die Eingabe verhindert werden
  }
}
```

Das Ganze entspricht soweit folgenden Eintrag:

http://www.java-forum.org/de/viewtopic.php?t=15892&highlight=eingabe+zulassen

Wie kann ich nun die Eingabe verhinden (e.setKeyCode(0) funktioniert nicht).

MfG Julian


----------



## Roar (3. Apr 2005)

e.consume() wäre eine möglichkeit
eine andere wär ein eigenes Document zu schrieben welches keine buchstaben zulässt (siehe FAQ)
eine andere möglichkeit wäre ein JFormattedTextField


----------



## semi (3. Apr 2005)

```
JTextField f = ...
f.setDocument(
  new PlainDocument() {
    public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
      if(str.matches("[0-9]+"))
        super.insertString(offs, str, a);
      else
        Toolkit.getDefaultToolkit().beep();
    }
  }
);
```


----------



## Illuvatar (3. Apr 2005)

Andersrum, semi (die if-Anweisung)


----------



## semi (3. Apr 2005)

Hee? :bahnhof: 



> ich will verhinden, dass in ein TextField ein Buchstaben eingegeben werden kann.





> ```
> if (e.getKeyChar() != '1') //die 1 ist hier nur als Platzhalter für die Restlichen Zahlen von 0 bis 1
> ```


Ich verstehe das so, dass alles bis auf Ziffern verhindert werden soll.

Aber egal, so ungefähr geht's :wink:


----------



## Illuvatar (3. Apr 2005)

öhm...


----------

