Как показать только всплывающее окно календаря JavaFX DatePicker и отсутствие ComboBox в FXML?

Я хочу удалить поле со списком DatePicker и вместо этого отображать только календарь DatePicker.

Объясняется здесь: JavaFX извлекает всплывающее окно календаря из DatePicker / показывает только всплывающее окно

Если я хочу сделать это в Java, я бы сделал что-то вроде:

DatePickerSkin skin = new DatePickerSkin(new DatePicker());
Node calendarControl = skin.getPopupContent();

Но как я могу сделать это в FXML? (Я использую SceneBuilder)

<DatePicker id="datePicker" prefHeight="25.0" prefWidth="535.0" showWeekNumbers="true">
  <HBox.margin>
      <Insets left="10.0" right="10.0" top="10.0" />
  </HBox.margin>
</DatePicker>

?

1 ответ

Решение

Вы можете попробовать это так:

<DatePicker id="datePicker" prefHeight="25.0" prefWidth="535.0" showWeekNumbers="true" stylesheets="@yourCSS.css">
  <HBox.margin>
      <Insets left="10.0" right="10.0" top="10.0" />
  </HBox.margin>
</DatePicker>

А также yourCSS.css (в том же каталоге, вероятно):

.date-picker-popup .month-year-pane {
    visibility: hidden;
}

Я попытался сделать это с помощью встроенных стилей CSS со стилем атрибутов на DatePicker элемент, но я не получил его на работу.

РЕДАКТИРОВАТЬ:

Получил неправильный вопрос. Я уверен, что вы не можете отобразить всплывающее окно без выпадающего списка Datepicker только с FXML.

Другие вопросы по тегам