0

我在 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);

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

4

1 回答 1

0

当你打电话时scriptFontU.deriveFont(20),你在打电话Font.deriveFont(int)。在这个函数中,第一个参数是一个表示样式的整数。相反,您想调用Font.deriveFont(float),它采用大小并保持样式不变。您可以通过调用scriptFontU.deriveFont(20.0)或等效方法来执行此操作;或致电Font.deriveFont(int, float)scriptFontU.deriveFont(Font.PLAIN, 20.0)使其明确。

于 2012-12-15T22:47:27.620 回答