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

3
有没有办法在CSS样式中更改Time4J日历选择器的字体?
我需要在程序中使用波斯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;");

但我想要改变整个日历选择器的字体。

enter image description here

enter image description here

2个回答

2
为了应用这些更改,您需要使用以下代码,并为日历选择器设置新的 CSS 样式并应用自定义。最初的回答如下:

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

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

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

在此输入图片描述


最初的回答

1
好的,我会增强CalendarPicker的文档以展示您的解决方案。 - Meno Hochschild

1

日历选择器本身仅是一个文本编辑器和弹出按钮的组合(打包在HBox中)。但是,如果用户按下按钮,则会弹出日历视图这个组件。您希望更改字体的这个组件目前还不可公开访问(除了通过特殊自定义程序访问单元格外)。

我同意这应该更加灵活。因此,我已经打开了一个新问题来跟踪此增强请求。

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


谢谢您的回复。我已经找到了一种方法,可以自定义日历选择器。 - Ahmad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接