如何在javaFx(场景生成器)的日期选择器中禁用过去的日期

如何在javaFx(场景生成器)的日期选择器中禁用过去的日期,javafx,datepicker,Javafx,Datepicker,我在场景生成器上创建了一个日期选择器。我想让它禁用日期,以迫使用户从当前日期选择日期,但我不知道如何做到这一点。我看到的所有示例都不是用java编写的(当然我的项目也是用java编写的)。我也有同样的问题。这是一段对我有用的代码 DatePicker dp = new DatePicker(); dp.setDayCellFactory(picker -> new DateCell() { public void updateItem(LocalDate date, boo

我在场景生成器上创建了一个日期选择器。我想让它禁用日期,以迫使用户从当前日期选择日期,但我不知道如何做到这一点。我看到的所有示例都不是用java编写的(当然我的项目也是用java编写的)。

我也有同样的问题。这是一段对我有用的代码

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 );
        }
    });
DatePicker dp=newdatepicker();
dp.setDayCellFactory(选择器->新建日期单元格(){
public void updateItem(LocalDate,布尔值为空){
super.updateItem(日期,空);
LocalDate today=LocalDate.now();
setDisable(空| | date.compareTo(今天)<0);
}
});
这将使与LocalDate.now()相比(返回当前日期)较小的日期不可用,因此前几天不可用。

Callback callB=new Callback(){
        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);
@凌驾 公共DateCell调用(最终日期选择器参数){ 返回新的DateCell(){ @凌驾 public void updateItem(LocalDate项,布尔值为空){ super.updateItem(item,empty);//要更改生成的方法体,请选择工具|模板。 LocalDate today=LocalDate.now(); setDisable(空的| |项。比较到(今天)<0); } }; } }; 选择日期。设置日期单元格工厂(callB);
在日期选择器中禁用过去的日期

请参阅。它有一个例子“实现一个日单元工厂来禁用某些天”。