samedi 6 juin 2015
Swing JTextField Funktion zuweisen - Löschen von Buchstaben/Sonderzeichen
Posted on 03:14 by verona
Hallo Leute,
ich bin zur Zeit an einem Projekt (Pizza Online-Bestellservice) für die Uni (2. Semester - Wirtschaftsinformatik) beschäftigt. Und zwar ist mein Teil des Projektes das Kunden-Eingabe-Fenster.
Dort soll der Kunde (Anwender) Vorname, Nachname und Telefonnummer eingeben können und mit dem "Weiter"-Button zur Bestellmaske geführt werden. Gleichzeitig soll für den Kunden eine Kundennummer erstellt werden und diese auch gleich der Bestellung, die er im nächsten Fenster eingibt, zugewiesen werden.
Ich bin soweit gekommen, dass ich das Fenster mit den 4 Labels (Aufforderung die Daten einzugeben, Vorname, Nachname, Telefonnummer), 3 Textfelder (Eingabe für die 3 Labels) und 2 Buttons (Abbrechen - auch bereits mit der Schließfunktion und Weiter - noch ohne Funktion) habe. Bei den Textfeldern habe ich eine Funktion (CaretListener) hinzugefügt, die den Weiter Button erst aktiviert, wenn in allen 3 Textfeldern etwas steht.
Zur besseren Vorstellung ein Screenshot dazu:
Ich probiere mich aktuell seit Stunden mit dem Telefonnummer-Textfeld rum :bahnhof: Ich würde es bei diesem Feld gerne so haben, dass wenn der Kunde KEINE Zahl eingibt, dieses Zeichen sofort wieder gelöscht wird.
Ist dies überhaupt möglich?
- Wenn ja, Wie (Welcher Listener, Tipps)?
- Wenn nein, wäre ich über alternative Vorschläge sehr dankbar.
Mein Quelltext hierzu:
Hier noch der Screenshot, da das andere ja mehr als verwirrend aussieht - keine Ahnung warum das Tool das so umändert :D
Ich hätte es einfach mal über einen StringBuilder probiert.. Habe aber ehrlich gesagt keine Ahnung ob das überhaupt funktionieren kann.
Ich habe mit meinen Internet-Recherchen nichts brauchbares gefunden!!
Ich danke schon mal VIIIIIEEELMAAALS im Voraus :)
Schöne Grüße
Chris
ich bin zur Zeit an einem Projekt (Pizza Online-Bestellservice) für die Uni (2. Semester - Wirtschaftsinformatik) beschäftigt. Und zwar ist mein Teil des Projektes das Kunden-Eingabe-Fenster.
Dort soll der Kunde (Anwender) Vorname, Nachname und Telefonnummer eingeben können und mit dem "Weiter"-Button zur Bestellmaske geführt werden. Gleichzeitig soll für den Kunden eine Kundennummer erstellt werden und diese auch gleich der Bestellung, die er im nächsten Fenster eingibt, zugewiesen werden.
Ich bin soweit gekommen, dass ich das Fenster mit den 4 Labels (Aufforderung die Daten einzugeben, Vorname, Nachname, Telefonnummer), 3 Textfelder (Eingabe für die 3 Labels) und 2 Buttons (Abbrechen - auch bereits mit der Schließfunktion und Weiter - noch ohne Funktion) habe. Bei den Textfeldern habe ich eine Funktion (CaretListener) hinzugefügt, die den Weiter Button erst aktiviert, wenn in allen 3 Textfeldern etwas steht.
Zur besseren Vorstellung ein Screenshot dazu:
Ich probiere mich aktuell seit Stunden mit dem Telefonnummer-Textfeld rum :bahnhof: Ich würde es bei diesem Feld gerne so haben, dass wenn der Kunde KEINE Zahl eingibt, dieses Zeichen sofort wieder gelöscht wird.
Ist dies überhaupt möglich?
- Wenn ja, Wie (Welcher Listener, Tipps)?
- Wenn nein, wäre ich über alternative Vorschläge sehr dankbar.
Mein Quelltext hierzu:
Java Code:
-
-
<font color="#4E9072">// <u>Innere</u> <u>Klasse</u> <u>für</u> die <u>Textfelder</u>: <u>Weiter</u> <u>soll</u> nur möglich sein, wenn alle 3 Textfelder ausgefüllt sind</font>
-
-
<font color="#931a68">private</font> <font color="#931a68">class</font> TextFelderListener <font color="#931a68">implements</font> CaretListener {
-
-
-
<font color="#777777">@Override</font>
-
<font color="#931a68">public</font> <font color="#931a68">void</font> caretUpdate(CaretEvent <font color="#7e504f">e</font>) {
-
<font color="#4E9072"><font color="#7e504f">s</font><font color="#000000">.trim(); </font>// trim() entfernt alle Leerzeichen am Anfang und Ende einer Eingabe</font>
-
<font color="#7e504f">t</font>.trim();
-
<font color="#7e504f">u</font>.trim();
-
-
<font color="#931a68">if</font> (<font color="#7e504f">s</font>.isEmpty() || <font color="#7e504f">t</font>.isEmpty() || <font color="#7e504f">u</font>.isEmpty()) {
-
<font color="#0326cc">weiter</font>.setEnabled(<font color="#931a68">false</font>);
-
} <font color="#931a68">else</font> {
-
<font color="#0326cc">weiter</font>.setEnabled(<font color="#931a68">true</font>);
-
}
-
-
<font color="#4E9072">// Telefonnummer-Textfeld: Alle Buchstaben werden sofort wieder gelöscht - HILFE!!!</font>
-
-
StringBuilder <font color="#7e504f">b</font> = <font color="#931a68">new</font> StringBuilder(<font color="#0326cc">eingabeT</font>.getText());
-
<font color="#931a68">for</font> (<font color="#931a68">int</font> <font color="#7e504f">i</font> = 0; <font color="#7e504f">i</font> >= <font color="#7e504f">b</font>.length(); <font color="#7e504f">i</font>++) {
-
<font color="#931a68">char</font> <font color="#7e504f"><u>c</u></font> = <font color="#7e504f">b</font>.charAt(<font color="#7e504f">i</font>);
-
-
<font color="#7e504f">b</font>.append(<font color="#7e504f">i</font>);
-
}
-
<font color="#931a68">else</font> {
-
<font color="#7e504f">b</font>.deleteCharAt(<font color="#7e504f">i</font>);
-
}
-
}
-
<font color="#7e504f">b</font>.toString();
-
}
-
}
Hier noch der Screenshot, da das andere ja mehr als verwirrend aussieht - keine Ahnung warum das Tool das so umändert :D
Ich hätte es einfach mal über einen StringBuilder probiert.. Habe aber ehrlich gesagt keine Ahnung ob das überhaupt funktionieren kann.
Ich habe mit meinen Internet-Recherchen nichts brauchbares gefunden!!
Ich danke schon mal VIIIIIEEELMAAALS im Voraus :)
Schöne Grüße
Chris
Swing JTextField Funktion zuweisen - Löschen von Buchstaben/Sonderzeichen
Inscription à :
Publier les commentaires (Atom)
0 commentaires:
Enregistrer un commentaire