我正在尝试从javafx(v10)中的日期选择器禁用某些日期,但是我不断遇到这样的问题,即向前和向后移动一个月时,有效日期似乎会更改css。这是一个已知的错误,还是任何人都可以发现代码错误?
private void getDayCellFactory(DatePicker datePicker1) {
Callback<DatePicker, DateCell> dayCellFactory = (final DatePicker datePicker) -> new DateCell() {
@Override
public void updateItem(LocalDate item, boolean empty) {
super.updateItem(item, empty);
if (item.isAfter(LocalDate.now().plusDays(9))) {
setDisable(true);
}
if (item.isBefore(ChronoLocalDate.from(LocalDate.now()))) {
setDisable(true);
}
}
};
datePicker1.setDayCellFactory(dayCellFactory);
}
答案 0 :(得分:0)
您必须在updateItem方法中处理空单元格。在updateItem方法中包括以下内容。在super.updateItem(item,empty);行下
if (empty || item == null) {
setGraphic(null);
}
else { //your code }