如何正确设置javafx日期选择器值?

如何正确设置javafx日期选择器值?,java,javafx,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 loc

我使用此方法设置
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) {}
但有时会抛出一个异常:

java.time.format.DateTimeParseException:无法在索引0处分析文本“”


那么这里怎么了?

您指定了一种格式来解析日期
dd-MM-yyyy

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
但是,您提供的日期格式与以下格式不匹配:

datePicker.setValue(LOCAL_DATE("2016-05-01"));
显然,
“2016-05-01”
的格式不是
“dd-MM-yyyy”

试一试


您指定了一个模式“dd-MM-yyyy”,并提供了“2016-05-01”,这显然与该模式不匹配。这是datepicker的格式化程序。是的,很明显,但问题是,您提供的日期格式与您为格式化程序指定的格式不同。我曾经尝试过没有任何DateTimeFormatter!这个格式化程序是告诉datepicker值还是显示值?
datePicker.setValue(LOCAL_DATE("01-05-2016"));