在一個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