2017-01-04 83 views
0

我上傳在eclipse我自己的字體是這樣的:如何更改自定義字體文本大小?

Font buttonFontDefault = Font.loadFont(MenuView.class.getClassLoader().getResourceAsStream("res/font/niagra_eng.TTF"), 100); 

,它工作得很好。我唯一的問題是改變用這種字體編寫的按鈕和標籤的文本大小的唯一方法是創建一個新的字體,唯一的區別是代碼末尾的大小。 我也試過如下:上述工程

button.setScaleX(0.50); 
button.setScaleY(0.50); 

的代碼,但隨後毀了我的GridPane佈局,因爲gridpane按照原來的按鈕大小的作用。 我寧願有一個解決方案沒有任何使用CSS,但如果這不是一種可能性,那麼我想我沒有其他選擇。但爲什麼不應該有沒有CSS的解決方案?

到目前爲止,我還沒能在互聯網上找到任何幫助。任何幫助是極大的讚賞。

+0

改變自定義字體的字體大小唯一方法是創建的另一個實例通過調用'Font.loadFont(String name,double size)'調用Font類。 – ItachiUchiha

+0

爲了使網格窗格的佈局能夠與按比例縮放的按鈕一起工作,請將按鈕封裝在「組」中,並將「組」添加到網格窗格中,而不是直接將按鈕添加到網格窗格中。 –

回答

1

如果你想以編程方式處理的字體,你可以不喜歡它@ItachiUchiha建議通過加載字體時定義字體大小:

Font.loadFont(String name, double size) 

這種方法的缺點 - 以及在編程處理它所有 - 對於每種字體大小,您都需要一個由您的代碼處理的字體實例。

我認爲一個更清潔的解決方案是通過CSS處理字體。與Java 8開始,字體家庭可以通過CSS定義:

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

.text { 
    -fx-font-family: "Roboto"; 
    -fx-font-size: 18px; 
} 

對於一個具體的例子,看看這個post

相關問題