2016-03-10 3 views
1

Пожалуйста, помогите.Как установить минимальную и максимальную дату в Datepicker Calander в JavaFx8?

Как установить минимальную и максимальную дату в календаре выбора даты в javafx8?

+0

не поддерживается, afaik – kleopatra

+0

Но нетрудно отключить все даты за пределами заданного диапазона, если это работает для вас. –

ответ

0

можно ограничить даты, доступные для выбираются пользователем путем отключения этих дней на dayCellFactory и установив эти диапазоны дат вам DatePicker, официальные документы можно найти here, вот пример:

DatePicker myDatePicker = new DatePicker(); // This DatePicker is shown to user 
DatePicker maxDate = new DatePicker(); // DatePicker, used to define max date available, you can also create another for minimum date 
maxDate.setValue(LocalDate.of(2015, Month.JANUARY, 1)); // Max date available will be 2015-01-01 
final Callback<DatePicker, DateCell> dayCellFactory; 

dayCellFactory = (final DatePicker datePicker) -> new DateCell() { 
    @Override 
    public void updateItem(LocalDate item, boolean empty) { 
     super.updateItem(item, empty); 
     if (item.isAfter(maxDate.getValue())) { //Disable all dates after required date 
      setDisable(true); 
      setStyle("-fx-background-color: #ffc0cb;"); //To set background on different color 
     } 
    } 
}; 
//Finally, we just need to update our DatePicker cell factory as follow: 
myDatePicker.setDayCellFactory(dayCellFactory); 

Теперь myDatePicker не позволит пользователю выбирать даты после 2015-01-01 (Remeber, даты будут показаны, но не доступны для выбора), здесь вы также можете создать еще одну временную датуPicker для Min date для установки диапазонов дат, по способ, которым этот код должен быть помещен в метод инициализации java-контроллера

Смежные вопросы