JavaFX: setDisable (true) проблемы DatePicker - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь отключить определенные даты из средства выбора даты в 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);
}

1 Ответ

0 голосов
/ 28 ноября 2018

Вы должны обрабатывать пустые ячейки в методе updateItem.Включите следующее в метод updateItem.Под строкой super.updateItem (элемент, пусто);

if (empty || item == null) {
        setGraphic(null);
    }
else { //your code }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...