JavaFX:setDisable(true)DatePicker问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaFX:setDisable(true)DatePicker问题相关的知识,希望对你有一定的参考价值。
我试图在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);
}
答案
您必须在updateItem方法中处理空单元格。在updateItem方法中包含以下内容。在super.updateItem(item,empty)行下;
if (empty || item == null) {
setGraphic(null);
}
else { //your code }
以上是关于JavaFX:setDisable(true)DatePicker问题的主要内容,如果未能解决你的问题,请参考以下文章
当 Java 中有 Thread.sleep 时,计时器不会停止
javafx 调整 setMnemonicParsing(true) alt 键
JavaFX/Mac:当我将 useSystemMenuBar 设置为 true 时,系统菜单变得无响应
setWrapText(true)不适用于JavaFX中的Label