新java字体的大小始终为1

时间:2012-12-15 22:24:55

标签: java fonts font-size true-type-fonts

我在java中为我的项目添加了一个新字体。但是在渲染时,文本大小始终为1。该文本基本上只显示几行。我尝试了多种字体,他们都做到了。这是我的代码。

public static void intializeFonts(){       
    try{
        File font = new File("C:/The Woods/Fonts/script.ttf");
        Font scriptFontU = Font.createFont(Font.TRUETYPE_FONT, font);
        Font scriptFont = scriptFontU.deriveFont(20);
        script = new TrueTypeFont(scriptFont, false);
    } catch(Exception e){
        System.out.println("Error Loading Font");
    }            
}

如果这有帮助的话,这也是我用它来呈现它。

    g.setFont(Fonts.script);
    g.drawString("Weight: "+ItemContainer.getWeight()+"lbs", 30, 600);

任何帮助都会很棒。谢谢。

1 个答案:

答案 0 :(得分:0)

当您致电scriptFontU.deriveFont(20)时,您正在呼叫Font.deriveFont(int)。在此函数中,第一个参数是表示样式的整数。相反,你想调用Font.deriveFont(float),它需要一个大小并保持样式不变。您可以通过调用scriptFontU.deriveFont(20.0)或同等内容来执行此操作;或者将Font.deriveFont(int, float)称为scriptFontU.deriveFont(Font.PLAIN, 20.0),以使其明确无误。