Textfelder für positive und negative Zahlen

OP #4814295
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.