JavaFX 日期选取器禁用将来的日期



我想允许用户从日期选择器中选择日期到当前日期。如何在 JavaFX 的日期选择器中禁用未来的日期?

你应该设置一个 DayCellFactory。这允许您控制日期选取器的所有样式元素,包括指定日期之后的日期是否灰显。

datePicker.setDayCellFactory(param -> new DateCell() {
@Override
public void updateItem(LocalDate date, boolean empty) {
super.updateItem(date, empty);
setDisable(empty || date.compareTo(LocalDate.now()) > 0 );
}
});

PS:任何包含单元格的节点(TableView,DatePicker,ListView等(都可以覆盖其updateItem方法,这允许您根据其数据配置该单元格的样式。谨慎使用,并始终确保包含随附的super.updateItem()

最新更新