在一个JavaFX程序我有一个标签,某些字体抵消说:被请求JavaFX的:奇怪,在标签上
<Label style="-fx-font: 25px 'Tahoma';" text="Hello World!!" />
从来就由设计师来改变字体,很容易(我想) :
<Label style="-fx-font: 25px 'Algerian';" text="Hello World!!" />
问题是新的字体在屏幕上显示的奇数偏移使文本显得高一点,从而搞乱了设计。
下面是两个标签并排排列的Output Example,左标签有Tahoma字体,看起来不错,而右标签有'HelveticaNeue'字体,比基线高得多。
我已经部分解决了使用文本组件替换Label组件的问题,其中boundsType属性设置为“VISUAL”而不是默认的“LOGICAL”。
<Text boundsType="VISUAL" style="-fx-font-family: 'Algerian'; -fx-font-size: 25px;" text="Hellow World!!" />
但它不会是很好的改变了整个系统的标签设置文本组件和其内部按钮和地方同样的问题提出了其他成分标签和将很难替代。
这是这些字体的问题吗?有些字体可以正常工作(Arial,Lucida Sans,MS Sans Serif),而其他字体则显示这种行为(阿尔及利亚,Helvetica)。 我在OS上安装了这些字体,甚至可以在MS Word中使用它们而不显示这些偏移量。
在Label组件上是否存在与Text组件的boundsType属性相同的选项?
希望有人知道发生了什么,感谢先进。
我从来没有在fxml本身设置字体,我总是使用css文件...你试过了吗?它是否发生在所有操作系统中? – Magcus
嗨马库斯,我也使用了一个css文件,但在示例中使用了内联css,以便它更清晰。我正在研究Windows,并且在同事的MacOS上看到了同样的行为。该应用程序将终于在Linux上运行,但我还没有尝试过。 – shoguren