JTextField mit max ein Zeichen

chriss_2oo4

Erfahrenes Mitglied
Hi,

ich möchte ein JTextField das max eine Zahl (1-9) annehmen kann. Hab jetzt schon oft gelesen dass die max. Länge im Konstruktor angegeben werden kann, was bei mir aber nicht funktioniert.

Ich möchte es so realisieren, dass wenn man mehr als ein Zeichen eingibt, die eingabe einfach ignoriert wird und ein Signalton kommt (wie es auch in einigen anderen Anwendungen realisiert ist).

Hab das zunächst mit dem keyTyped-Event probiert, jedoch funktioniert das ganze nicht, da das Event schon ausgelöst wird bevor der Text in die Textbox geschrieben wird.
Ich kann dann zwar abfragen ob noch nichts (also länge 0) drin steht, aber nicht auf zeichen überprüfen und hinterher wird das neu eigegebene Zeichen angehängt.

Muss ich dazu die JTextField Klasse überschreiben, oder gibt komfortablere Lösungen?

Lg Chriss
 
Warum nimmst du dann nicht einen Spinner mit einem SpinnerNumberModel. Der ist doch dafür besser geeignet als ein Textfeld.
 
Hi,

danke für deine Antwort. Ich hab ne Combobox genommen, da ich eigentlich sogar nur die Zahlen 1-4 benötige. Wollte aber trotzdem wissen wie man soetwas löst, da man soetwas wahrscheinlich noch öfters brauchen kann.

Lg
 
Zurück