1 回答
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超7個(gè)贊
配置范圍僅意味著禁用此范圍之外的日期。所以這個(gè)過程與鏈接答案中的過程相同。您可以創(chuàng)建一個(gè)實(shí)用方法來更輕松地創(chuàng)建過濾器。例如,如果謂詞返回 false,則configureShowRangeHandler承認(rèn)Predicate<Date>將禁用日期。這enableUntilToday是一個(gè)將可選日期限制到今天的簡單示例。
{
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是從靜態(tài)導(dǎo)入的CalendarUtil
添加回答
舉報(bào)
