Textfelder für positive und negative Zahlen

OP #4814295
Lesenswert?

Hallo allesamt,

ich habe eine Anwendung mit mehreren Textfeldern. Nun möchte ich, dass 
man in die Textfelder nur Zahlen eingeben kann. In einige Textfelder 
sollen nur positive und in andere nur negative Zahlen eingetippt werden 
können.

Kann ich das direkt bei der Deklaration von meinem Textfeld mit angeben, 
wenn ich z.B. tf1 = new JTextField( "nur positive Zahlen" ); ?

Wie ist der einfachste Weg, sowas zu programmieren?
Vielen Dank im Voraus!
Gast #4816169
Lesenswert?

Kai S. schrieb:
>> Ich dachte es ist selbsterklärend, dass ich in Java programmiert habe.

Wenn man nach "JTextField" sucht, könnte man darauf kommen; allerdings 
lässt sich natürlich auch in anderen Programmiersprachen eine Klasse mit 
dem entsprechendem Namen schreiben.

Kai S. schrieb:
> Wie ist der einfachste Weg, sowas zu programmieren?

Da fragst du am besten in "PC-Programmierung", würde ich meinen.
#4816172
Lesenswert?

Kai S. schrieb:
> Ich dachte es ist selbsterklärend, dass ich in Java programmiert habe.

Dass du Swing benutzt hättest du auch dazu schreiben können.
Wie dem auch sei, Textfelder für zahlen müssen nicht sein, dafür nimmt 
man besser Widgets, die darauf spezialisiert sind. Bei Swing nennt sich 
sowas wohl JSpinner. Mit sehr großer Wahrscheinlichkeit kann man da auch 
Minimum und Maximum festlegen. (Ich kenne mich mit Swing jetzt nicht im 
speziellen aus, kenne nur Gtk+)
#4816256
Lesenswert?

Die Eingabemöglichkeiten in Textfeldern zu beschränken ist eine 
üblicherweise saudumme Idee, außerdem funktioniert sie nicht 
zuverlässig. Es gibt immer eine Möglichkeit, da Werte reinzuinjizieren.

Lasse alle Eingaben zu und validiere nachträglich. Pfusche während der 
Eingabe nicht im Feld rum. Führende und abschließende Leerzeichen treten 
oft beim Kopieren-Einfügen auf, die kannst du während der Validierung 
gleich filtern.

Wann rechtzeitig ist, hängt von der Anwendung ab. Das kann ein dezenter 
Hinweis schon während der Eingabe (oder nach Fokusverlust) sein, das 
kann der Klick auf den "OK"-Button sein, oder das kann auch erst später 
vor der Übernahme der Werte passieren.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren