必要な数だけパターンを定義し、入力した日付がそのパターンに適合するかどうかコンバーターチェックで定義できます。
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;
}
});
}
すばやい返信ありがとうございます。これをベースとして使用し、フォーマットを取得することができました。 –