Sie können so viele Muster definieren, wie Sie möchten, und in Ihrem Konverter prüfen, ob das eingegebene Datum für eines von ihnen passt.
private final List<String> patterns = Arrays.asList(
"MM/dd/yyyy", "MMddyyyy", "MM.dd.yyyy");
@Override
public void start(Stage stage) {
DatePicker datePicker = new DatePicker();
datePicker.setConverter(new StringConverter<LocalDate>() {
@Override
public String toString(LocalDate date) {
if (date != null) {
for (String pattern : patterns) {
try {
return DateTimeFormatter.ofPattern(pattern).format(date);
} catch (DateTimeException dte) { }
}
System.out.println("Format Error");
}
return "";
}
@Override
public LocalDate fromString(String string) {
if (string != null && !string.isEmpty()) {
for (String pattern : patterns) {
try {
return LocalDate.parse(string, DateTimeFormatter.ofPattern(pattern));
} catch (DateTimeParseException dtpe) { }
}
System.out.println("Parse Error");
}
return null;
}
});
}
Vielen Dank für die schnelle Antwort. War in der Lage, dies als Basis zu verwenden und meine Formate zu bekommen. –