Forum: PC Hard- und Software Textfelder für positive und negative Zahlen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Kai S. (kai999)


Bewertung
0 lesenswert
nicht 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!

von Rolf Magnus (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Entweder dem Widget einen QIntValidator zuordnen oder gleich eine 
QSpinBox mit passenden Minimum- und Maximum-Werten nehmen.

von Kai S. (kai999)


Bewertung
-1 lesenswert
nicht lesenswert
Ich habe die starke Befürchtung, dass dein Tipp für C++ gilt.

Ich dachte es ist selbsterklärend, dass ich in Java programmiert habe.

von Rolf M. (rmagnus)


Bewertung
1 lesenswert
nicht lesenswert
Kai S. schrieb:
> Ich habe die starke Befürchtung, dass dein Tipp für C++ gilt.

Für C++ mit Qt, da du ja ganz allgemein gefragt hast. War auch mehr als 
Hinweis zu verstehen, dass du vergessen hast, dazuzuschreiben, worin du 
das programmierst.

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

Warum sollte es das sein?

von Transientenbürzel (Gast)


Bewertung
-1 lesenswert
nicht 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.

von Kai S. (kai999)


Bewertung
-1 lesenswert
nicht lesenswert
Naja wegen dem 'J' bei "JTextField" :-)

aber hast Recht, ich habe vergessen es mit anzugeben. Nun da du es 
weißt, weiß du wie es in Java geht?

von Lukas K. (carrotindustries)


Bewertung
0 lesenswert
nicht 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+)

von S. R. (svenska)


Bewertung
1 lesenswert
nicht 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.

von Kai S. (kai999)


Bewertung
-1 lesenswert
nicht lesenswert
Ich habe absolut keine Ahnung was du meinst.
Gibt es denn keinen, der ein Bsp für mein Problem hat? :-/

von Reginald L. (Firma: HS Ulm) (reggie)


Bewertung
0 lesenswert
nicht lesenswert
Vllt hilft dir das Stichwort regex weiter.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.