Veröffentlicht 18. März 200916 j Hallo zusammen ich habe ein Problem ich will das in ein Textfeld nur ein Datum eingegeben werden darf. Leider weis ich nicht wie ich dieses Umsätze. Dachte ich Löse es damit aber das bedeutet ja nur das man soviele Zeichen eingeben darf. try { AbDatum = new MaskFormatter("##.##.####"); Grüße aK
18. März 200916 j Wenn du diesen MaskFormatter einer Komponente JFormatedTextField zuweist, dann kannst du in dem JFormatedTextField nur noch Zahlen in dem Format eintragen. Das heißt natürlich, er kann noch immer nen Datum wie zum Beispiel "40.15.2009" oder was auch immer, eintragen. Das müsste dann wohl im nachhinein kontrolliert werden, aber du kannst dir schonmal sicher sein, dass er das Datum im richtigen Format angibt. Wenn dir das nicht reicht, musste dir wohl nen eigenen Formatter schreiben der von der Klasse AbstractFormatter erbt.
18. März 200916 j Soweit ich weiss gibt es keinen automatischen Datumstest bei der Eingabe. Problem ist immer, dass erst alle drei Bestandteile Tag, Monat, Jahr eingegeben sein müssen, bevor eine Validierung Sinn macht. Und selbst dann muss man das mit Schaltjahrberechnung ermitteln. Ich hab allerdings schon oft gesehen, dass bewusst umgewandelt wird um mittels einer abgefangenen Exception zu testen ob die Eingabe ok ist, aber naja die feine Englische ist das nicht!
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.