我在场景构建器上创建了一个DatePicker。我想让它禁用日期,以强制用户从当天选择日期,但我不知道该怎么做。我看到的所有例子都不在java中(当然我的项目是在java中)。
答案 0 :(得分:2)
我有同样的问题。这是为我工作的代码段。
DatePicker dp = new DatePicker();
dp.setDayCellFactory(picker -> new DateCell() {
public void updateItem(LocalDate date, boolean empty) {
super.updateItem(date, empty);
LocalDate today = LocalDate.now();
setDisable(empty || date.compareTo(today) < 0 );
}
});
与LocalDate.now()(返回当前日期日期)相比,这将使那些日子变得不可靠,所以前几天也是如此。
答案 1 :(得分:0)
Callback<DatePicker, DateCell> callB = new Callback<DatePicker, DateCell>() {
@Override
public DateCell call(final DatePicker param) {
return new DateCell() {
@Override
public void updateItem(LocalDate item, boolean empty) {
super.updateItem(item, empty); //To change body of generated methods, choose Tools | Templates.
LocalDate today = LocalDate.now();
setDisable(empty || item.compareTo(today) < 0);
}
};
}
};
selectedDate.setDayCellFactory(callB);
在日期选择器中禁用过去的日期