如何在 JavaFX 中更改 Time4J CalendarPicker 的字体?

How can I change the font of the Time4J CalendarPicker in JavaFX?

有没有办法改变 css-style 中 Time4J CalenderPicker 的字体?

我的程序中需要一个波斯语 DatePicker,所以我使用了 Time4J CalenderPicker。

使用此代码我只能更改单元格的字体:

CalendarPicker<PersianCalendar> MyDatePicker = CalendarPicker.persianWithSystemDefaults(); 

MyDatePicker.setCellCustomizer(
            (cell, column, row, model, date) -> {
                cell.setStyle("-fx-font-family: MyFont;");
            }
    );

我试过这段代码,但没有任何改变:

MyDatePicker.setStyle("-fx-font-family: MyFont;");

但是我想改变孔CalendarPicker的字体。

日历选择器本身只是 combination of a text editor and a popup button(捆绑在 HBox 中)。但是,日历视图是用户按下按钮时弹出的另一个组件。并且您希望更改其字体的该组件尚未公开访问(通过特殊定制器的单元格除外)。

我同意这应该更灵活。因此,我打开了一个 new issue 来跟踪此增强请求。

随意分叉 Time4J 并进行实验并在 time4j-github 上提交拉取请求。其实我在忙别的事,不过可以再看深一点。

为了应用更改,您需要使用以下代码并为日历选择器设置新的 css 样式并应用自定义。

private CalendarPicker<PersianCalendar> MyDatePicker = CalendarPicker.persianWithSystemDefaults();
MyDatePicker.getStylesheets().add("/MyCSS-Style.css");

下面的 gif,演示了我的自定义设置。