Eingabe beschränken (in Länge und Typ)

SlowMoe

Grünschnabel
Hi,

ich fange direkt an: Ich habe ein mit mehreren Objekten (hauptsächlich Namen und Adressen etc). Über die getter und setter Methoden kann ich dort andere Werte zuweisen. Nun möchte ich aber das eine Postleitzahl auch nur aus int's besteht, unddies möglichst schon bei der Eingabe abfangen.

Die Frage ist: wie mache ich das? Meine Idee auf dem Papier sieht eine Art Formatter vor, allerdings wüsste ich nicht, wie ich diese Vorschriften einer JOptionPane beibringen könnte. Letzlich will ich einfach verhindern das ein Buchstabe, oder eine Zeichenkette größer als Länge X an die set- Methode kommt.

Weiss jemand rat? wäre sehr dankbar
 
swinglabs.org bietet da einiges an sogenannten Decorators an.
oder schau dir mal dies hier an

http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/InputVerifier.html

hierzu gibt es übrigens X Möglichkeiten sowas zu implementieren

z.B. du machst einen ActionListener auf dem Textfield und rufts den Inhalt ab und löscht alles was nicht int ist raus und setzt den Text neu.
oder
du machst einen keylistener und unterdrückst alle Eingaben die nicht numerisch sind.

ich habe z.B. die gesamten PLZs hinterlegt und mache ein AutoComplete mit der API von Swinglabs ... ist richtig komfortabel.
 
Zuletzt bearbeitet:
hey nove,

danke für die Antwort. Das ist im Prinzip genau das, was ich gesucht habe.
Ich bin jetzt auch davon weg, ein JOptionPane zu nutzen und baue meinen eigenen Eingabe-Frame.

super und bis zur nächsten Frage ;)...
 
Zurück