# Java Komponente mit formatierter Eingabe?



## chik (11. Nov 2003)

Hallo,
gibt es in Java eine Komponente oder so, in der ich vorgeben kann, was der Benutzer eingeben kann?
Also z.B. soll der Benutzer 2 Zahlen eingeben, danach soll ein Komma folgen und nochmal 2 Zaheln. Kann man sowetwas mit eirgendeiner Komponente von Swing machen?

Danke im vorraus

Krause


----------



## me.toString (12. Nov 2003)

Also Swing selber kann das nicht ( warum auch ... Swing ist nur für die grafische Darstellung da ... was du willst, ist aber Logik !!! ) Wenn das Feld seinen Fokus verliert ... oder auf einen Button geklickt wird muss du prüfen, was in dem Feld steht. die Überprüfung kann man mit einem regulären Ausdruck ganz einfach erledigen ( ist seit SDK 1.4 mit an Board ).

Michael


----------



## Guest (12. Nov 2003)

Wie funktioniert das denn mit den regulären Ausdrücken?
Also ich meine reguläre Ausdrücke kenne ich, aber wie funktioniert das in Java?

Ein kleines Beispiel währe ganz nett 

Danke
Krause


----------



## bygones (12. Nov 2003)

regex gehen in java ab 1.4.

Um nun zu testen, ob ein String deiner eingabe entspricht kannst du das über:

matches(String regex)

testen. Die methode liefert die true zurück, wenn der regex matched, andernfalls false.

Also, bei deiner Vorgabe sähe das so in etwa aus:

eingabe.matches("\\d\\d,\\d\\d");

Also es wird überprüft ob zwei Zahlen kommen, dann ein Komma und dann wieder zwei Zahlen !
Wenn das ganze nicht so rigide sein soll, kannst mit + (mind. einmal) oder * (beliebig oft, auch keinmal !) - oder mit {x} (mind. x-mal) oder {x,y} (mind. x - mal, max. y - mal) die Häufigkeit ändern


----------



## Stefan1200 (13. Nov 2003)

Seit Java 1.4 gibt es den JSpinner, der quasi vordefinierte Textfelder erlaubt.
Schau mal hier:

http://www.rz.fhtw-berlin.de/hjp3/k100235.html#sectlevel3id037001005


----------



## Ebenius (18. Nov 2003)

*Falsch! Alles Falsch! Gibts doch! *

JFormattedTextField!!! ab j2sdk 2/1.4.x

Viel Spass

Ebenius


----------

