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!
Entweder dem Widget einen QIntValidator zuordnen oder gleich eine QSpinBox mit passenden Minimum- und Maximum-Werten nehmen.
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.
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?
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.
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?
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+)
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.
Ich habe absolut keine Ahnung was du meinst. Gibt es denn keinen, der ein Bsp für mein Problem hat? :-/
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.