如何正确设置javafx datepicker值?

Hus*_*ied 8 java javafx

我使用此方法设置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
Run Code Online (Sandbox Code Playgroud)

那么这里有什么不对?

Jam*_*s_D 11

您指定用于解析日期的格式dd-MM-yyyy:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
Run Code Online (Sandbox Code Playgroud)

但是你提供的日期格式与以下格式不符:

datePicker.setValue(LOCAL_DATE("2016-05-01"));
Run Code Online (Sandbox Code Playgroud)

显然,"2016-05-01"不是格式"dd-MM-yyyy".

尝试

datePicker.setValue(LOCAL_DATE("01-05-2016"));
Run Code Online (Sandbox Code Playgroud)