在 DatePicker 上隐藏日历按钮?

Hide Calendar Button on DatePicker?

有没有一种简单的方法可以在 JavaFX 中隐藏 DatePicker 节点上的日历按钮?我们的一些日期不可编辑,日历按钮只是增加了字段的宽度。

您可以使用以下css删除日历按钮

.date-picker > .arrow-button {
    -fx-padding: 0px;
}

.date-picker > .arrow-button > .arrow {
    -fx-padding: 0px;
}

编辑 - 恢复右边框:

.date-picker > .date-picker-display-node {
    -fx-background-insets: 1 1 1 1;
}

编辑 - 仅将上述样式应用于少数日期选择器

声明一个 DatePicker 并向其添加一个样式类。

DatePicker nonEditableDatePicker = new DatePicker();
nonEditableDatePicker.getStyleClass().add("non-editable-datepicker");

使用此样式类添加样式:

.non-editable-datepicker > .arrow-button {
    -fx-padding: 0px;
}

.non-editable-datepicker > .arrow-button > .arrow {
    -fx-padding: 0px;
}

.non-editable-datepicker > .date-picker-display-node {
    -fx-background-insets: 1 1 1 1;
}