Thomas S.: Java Textfeld Formatieren

Hallo Gemeinde,

ich habe folgendes Problem:
Ich habe eine Client Anwendung (keine Web Anwendung) auf meinem Rechner, auf der ich DM Beträge und ein Datum eingeben kann. Wenn ich jetzt einen DM Betrag eingebe (z.B 10234,23) soll der Tausenderpunkt automatisch gesetzt werden (10.234,23). Wenn ich keine Pfennig Beträge eingebe, sollen diese automatisch angefügt werden (z.B 10.234 -> 10.234,00). Bei der Eingabe von einem Datum sollen die Punkte zwischen Tag.Monat.Jahr auch automatisch gesetzt werden.(Eingabe 10 automatisches setzen vom Punkt -> 10. Eingabe 10.12 automatische setzen vom Punkt -> 10.12. Eingabe 10.12.2000).
Gibt es dazu entsprechende Methoden oder wo finde ich eine entsprechende Page. Unter http://www.javasoft.com/ habe ich schon geschaut aber noch nichts gefunden.
Die Oberfläche wird mit Swing erstellt.
Vielen Dank
Thomas

  1. Hi Thomas!

    Wenn Du schon mit einer richtigen Programmiersprache arbeitest, musst Du Dich wohl oder übel auch an den Gedanken gewöhnen, alles selber zu schreiben :-)

    Alllsoooo...

    Zuerst brauchst Du natürlich eine Funktion, die den eingegebenen String automatisch in einen Double-Wert umwandelt - die Methode Double.valueOf(String) greift hierbei natürlich nicht, da sie nur den Punkt als Komma-Zeichen kennt.
    Du müsstest also erstmal alle Punkte aus dem String entfernen und alle Kommata durch Punkte ersetzen. Dann kannst Du Double.valueOf (mit einer entsprechenden catch-Anweisung) verwenden.

    Dann brauchst Du noch eine Funktion, die Double-Werte in das entsprechende Format bringt, also den Punkt durch ein Komma ersetzt und alle Zahlen davor mit einem Punkt nach drei Stellen versieht.

    Kriegst Du das jetzt hin?

    Hoffe, geholfen zu haben
    Simon