1 回答

TA貢獻1862條經驗 獲得超7個贊
配置范圍僅意味著禁用此范圍之外的日期。所以這個過程與鏈接答案中的過程相同。您可以創建一個實用方法來更輕松地創建過濾器。例如,如果謂詞返回 false,則configureShowRangeHandler承認Predicate<Date>將禁用日期。這enableUntilToday是一個將可選日期限制到今天的簡單示例。
{
DatePicker dp = new DatePicker();
Predicate<Date> enableUntilTodayDates = d -> !d.after(new Date());
configureShowRangeHandler(dp, enableUntilTodayDates);
}
static HandlerRegistration configureShowRangeHandler(DatePicker dp, Predicate<Date> fn) {
return dp.addShowRangeHandler(ev -> {
for (Date t = copyDate(ev.getStart()); t.before(ev.getEnd()); addDaysToDate(t, 1)) {
dp.setTransientEnabledOnDates(fn.test(t), t);
}
});
}
copyDate并且addDaysToDate是從靜態導入的CalendarUtil
添加回答
舉報