Как правильно установить значение JavaFX datepicker?

я использовал этот метод для установки значения datepicker, но иногда выбрасываю исключение:

public static final LocalDate LOCAL_DATE (String dateString){
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
    LocalDate localDate = LocalDate.parse(dateString, formatter);
    return localDate;
}

try {
        datePicker.setValue(LOCAL_DATE("2016-05-01");
    } catch (NullPointerException e) {
    }

//the exception:
java.time.format.DateTimeParseException: Text '' could not be parsed at index 0

Так что здесь не так?

1 ответов


вы указываете формат для разбора даты dd-MM-yyyy:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");

но затем вы предоставляете дату в формате, который не соответствует этому:

datePicker.setValue(LOCAL_DATE("2016-05-01"));

очевидно, "2016-05-01" не в формате "dd-MM-yyyy".

попробовать

datePicker.setValue(LOCAL_DATE("01-05-2016"));