JFormattedTextField Datum mit Datum

Hallo alle zusammen,

ich habe ein kleines Problem mit einem JFormattedTextField und zwar möchte ich ein Textfeld haben in den man ein Datum schreiben kann.
Wichtig dabei ist das aus Eingaben wie 1.5.13 01.05.2013 gemacht wird.
Bis jetzt habe ich mein JFormattedTextField so erstellt:

SimpleDateFormat sdf = new SimpleDateFormat();
sdf.applyPattern("dd.MM.yyyy");
txtDatum = new JFormattedTextField(sdf);

Vielen Dank
teebaron

Versuch´s mal hiermit:


JFormattedTextField tf = new JFormattedTextField(new DateFormatter(
         DateFormat.getDateInstance(DateFormat.MEDIUM, Locale.GERMAN)));

Das was du vor hast ist so nicht ganz möglich, sondern du brauchst einen eigenes Format das getrennt parst und formatiert
z.B.
so etwas

``````private static class TestFormat extends SimpleDateFormat {
    
    public TestFormat() {
      super("dd.MM.yyyy");
    }
    
    SimpleDateFormat parser = new SimpleDateFormat("dd.MM.yy");
 

    @Override
    public Object parseObject(String source, ParsePosition pos) {
      return parser.parseObject(source,pos);
    }  
  }```

Denn wenn du dein SimpleDateFormat nutzt oder die Lösung von HLX nutzt wird aus 1.1.12 der 01.01.0012

Stimmt, die zweistellige Jahreszahl habe ich übersehen. Dann eigenes Format definieren.