2015-11-28 45 views
0

我試圖用這個方法的JavaFX @字體面CSS錯誤「loadStyleSheetUnprivileged」

@font-face { 
    font-family: 'Roboto'; 
    src: url('fonts/Roboto-Medium.ttf'); 
} 

我所做的每一件事情正確使用正確的路徑來加載在JavaFX CSS自定義字體,但我收到此錯誤

Nov 28, 2015 4:49:18 PM com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged 
INFO: Could not load @font-face font [file:/C:/Users/RootUser/Desktop/Java8%20projects/RemoteViewer/out/production/JavaFxApplication/application/fonts/Roboto-Medium.ttf] 

這是我的項目結構 「截圖」

enter image description here

注意我使用intellij Idea作爲我的IDE.Thanks提前。

+0

哪裏CSS文件位於項目? 「ttf」位於哪裏? – Tunaki

+0

@Tunaki它位於'src'包中,就像字體文件夾一樣,我不認爲問題出在路徑上,因爲我有交叉檢查 –

+0

嘗試使用'/ fonts/Roboto-Medium.ttf'。你應該編輯你的文章與每個文件涉及的位置雖然,這是非常重要的是這些問題。 – Tunaki

回答

2

這是JavaFX(8)中的一個錯誤。如果字體文件路徑名中有一個空格,它將不會加載,並拋出一個異常,就像它發生在您身上一樣。

這意味着我們不應該從CSS文件加載字體,除非我們確信文件路徑不會包含任何空格。

有加載的字體更好,安全的方式(〜裏面main()第一行):

Font.loadFont(getClass().getResourceAsStream("/font.ttf"), 16); 
+0

謝謝,還發現這個硬的方式 –

+0

@CollinsA哦,對不起,這個問題已經過了一年。雖然它會幫助其他人。 – klenium