2014-05-06 40 views
0

當我嘗試通過從Font.createFont返回的字體設置一個JLabel的字體,顯示的JLabel什麼:Font.createFont不工作

Font tempFont = Font.createFont(Font.TRUETYPE_FONT, new File("Path to a ttf font")); 
Font font = tempFont.deriveFont(48); 
JFrame frame = new JFrame(); 
JLabel text = new JLabel("Salam Jahan!"); 
text.setFont(font); 
frame.getContentPane().add(text); 
frame.pack(); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
frame.setVisible(true); 

問題是什麼?

回答

2

deriveFont specifys的字體樣式,而不是尺寸,以便加載字體保留它的0

Font font = tempFont.deriveFont(48); 

默認大小需要的方法的重載版本

Font font = tempFont.deriveFont(48f); 
           ^
+0

+1的deriveFont可以使用對於Font.BOLD/XXX/XXX也是如此 – mKorbel

+0

這是一個很愚蠢的錯誤! 謝謝。 – mehrmoudi