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

时间:2019-04-01 20:31:25

标签: javafx datepicker calendar farsi time4j

有没有办法以CSS样式更改Time4J CalenderPicker的字体?

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

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

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

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

You can see changes in this image

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

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

但是我想更改CalendarPicker的字体。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:1)

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

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

可以随意分叉Time4J并进行实验,并在time4j-github上提交拉取请求。其实我正忙于其他事情,但是可以更深入地研究。

答案 1 :(得分:1)

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

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

以下gif演示了我的自定义内容。

enter image description here