【发布时间】:2020-01-07 16:51:44
【问题描述】:
问题
大家好,我已经设置了以下 JavaFX CSS 来处理 Label 控件以显示我的计算器应用程序的总和。
.label-sumtotal {
-fx-font-family: "Noto Sans CJK SC Bold", Arial, sans-serif;
-fx-text-fill: color-crimson;
-fx-font-size: 32pt;
-fx-font-weight: bold;
}
这是它在 Windows 和 Xubuntu 14.04
上的正确显示方式这就是它在 Xubuntu 16.04
上的外观错误到目前为止我在 Xubuntu 16.04 上测试过的内容
我更改为 Xubuntu 16.04 包含的另一个字体系列, 然而
Label仍然没有改变它的字体系列,也没有改变它的 字体粗细。但是当我将控件从
Label更改为Text而不触摸 任何 CSS 代码,然后以某种方式识别字体系列并 已申请。
我的问题
如何让Label 控件在Xubuntu 16.04 上显示字体系列?我不想使用Text 控件,因为它没有Label 那样的某些格式化功能。
【问题讨论】:
-
JavaFX CSS reference guide 声明:“JavaFX CSS 不支持 -fx-font-family 属性中以逗号分隔的字体系列名称。不支持指定字体时的可选行高参数。” .因此,也许尝试这样做会使系统感到困惑。
-
另外,
color-crimson不是有效颜色,它应该只是crimson。 -
至于深红色,我已经在 CSS 中声明它像这样
color-crimson: #dc143c;。因此我可以在 CSS 的其他部分重用color-crimson。 -
至于“-fx-font-family 属性中以逗号分隔的字体系列名称”,我删除了其他字体,只保留了一个。然而仍然没有任何改进。我想知道 JavaFX 是如何以及在哪里获得其默认字体系列的,也许默认值已经不断覆盖我的。
-
运行这个:
System.out.println(String.join("\n", Font.getFamilies()));找出可用的字体系列,如果你想明确知道它是如何确定这些的,请阅读 JavaFX 源代码(据我所知,它没有在任何地方记录和实现将取决于平台)。
标签: css javafx label ubuntu-16.04 font-family