2013-08-22 50 views
6

我使用Ubuntu 13.04並編寫應用程序來顯示一些標籤(使用Label類)。我也嘗試使用Text類並將平滑類型設置爲LCD。結果是一樣的,字體看起來很模糊,頁邊空白,並且你必須將它的大小設置爲一個非常大的數字以便可讀(注意我有一些文本段落顯示)。可以改進JavaFX 2/8字體的渲染嗎?

我知道JavaFX2有液晶子像素渲染,但仍然可以做些什麼,使字體看起來不那麼醜陋? (也許我錯過了東西的2.X或不知道8.X中的東西存在)

有沒有什麼辦法來檢查LCD子像素渲染是否有效?

問候,

+0

參見[上JavaFX的字體呈現一dev郵件列表線程](http://mail.openjdk.java.net/pipermail/openjfx-dev/2013-August/009822.html)。 – jewelsea

+1

正如甲骨文傢伙所說:「在Linux上我們提供了一個freetype後端,但很可能默認情況下它不會啓用(這意味着我們將在那裏使用T2K),我認爲我沒有時間去修復Linux這一次。「這裏https://javafx-jira.kenai.com/browse/RT-14187,我想指出3件事情:1。在Linux上查看eclipse的字體,然後看看JavaFX字體的外觀。 2.我們支持跨平臺嗎?!?! 3. Android可能有全息圖,直到你得到這個工具包的權利。 – aureliangtx

+1

看來這個問題在Windows平臺上並不是一個問題,可惜的是,解決影響Windows的問題似乎優先於那些影響(更好的)Linux平臺的問題。 – Kerry

回答

8

使用

System.setProperty("prism.lcdtext", "false"); 
System.setProperty("prism.text", "t2k"); 

兩個或一個時刻。

0

將整個應用程序的字體更改爲'Ubuntu Light',給了我一個完美的外觀。我也嘗試了其他一些字體,但它們使外觀變差。

第1步:application.css中添加以下樣式文件。

.text { 
    -fx-font-family: "Ubuntu Light"; 
} 

步驟2:應用樣式到你的父場景。

scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());