【问题标题】:How to show only the JavaFX DatePicker calendar popup and no ComboBox in FXML?如何在 FXML 中仅显示 JavaFX DatePicker 日历弹出窗口而不显示 ComboBox?
【发布时间】:2016-04-20 11:06:06
【问题描述】:

我想删除 DatePicker 的 ComboBox,只显示 DatePicker 的日历。

这里解释: JavaFX extract calendar-popup from DatePicker / only show popup

如果我想在 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>

?

【问题讨论】:

    标签: javafx datepicker javafx-8 fxml


    【解决方案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;
    }
    

    我尝试使用 DatePicker 元素上的属性样式使用内联 css 样式,但我没有让它工作。

    编辑:

    答错题了。我很确定如果没有 Datepicker 的组合框,您将无法仅使用 FXML 显示弹出窗口。

    【讨论】:

    • 我不确定你的问题是否正确。我只想显示弹出窗口而不是 DatePicker 的 ComboBox。您的解决方案不会隐藏弹出窗口吗?但是我尝试了您的解决方案,但我认为行为没有区别。
    • 好的。问错了。需要尝试一下:)
    • @7twenty7 我很确定你不能只用 FXML 来做。我尝试了一些东西,但没有奏效。但可能其他人想出了另一个主意。
    猜你喜欢
    • 2016-04-13
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 2013-05-19
    相关资源
    最近更新 更多