java - 我应该如何修复这个字体加载器?

标签 java fonts

所以我试图创建一个返回字体对象的方法 - 从 .ttf 派生它,但我的代码不起作用:

public Font loadFont(){
    Font font = null;
    try {
        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
        font = Font.createFont(Font.TRUETYPE_FONT, new File("vgafix.ttf"));
    } catch (Exception e) {
        //Handle exception
    }
    return font;
}

我该如何解决这个问题?

最佳答案

it's just not drawing anything. If, instead of setting the font to null, i set it to a java default font, it works

创建时,默认的字体大小为1。尝试使用类似的东西

Font font = loadFont().deriveFont(12f);

设置所需的字体大小

the file is in the same dir as the rest of the classfiles

您可能还会发现,当字体驻留在应用程序上下文中时,使用File 引用该字体可能意味着找不到该文件。例如,加载嵌入式资源时,您应该使用类似于 Class#getResourceClass#getResourceAsStream 的内容,具体取决于您的需要

font = Font.createFont(Font.TRUETYPE_FONT, getClass().getResourceAsStream("/package/path/to/resource/vgafix.ttf"));

关于java - 我应该如何修复这个字体加载器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29025125/

相关文章:

c# - 为什么 setFieldProperty 返回 false?

Android 静态布局字体大小

java - 2个Java方法java.lang.NullPointerException

Java Swing 使用日期作为计时器

Java 错误堆栈跟踪累积

java - Spring "The request was rejected because the URL was not normalized."如何判断使用了什么 url?

java - 我在 Maven 构建中得到 "The build could not read 1 project"因为未定义的版本

html - Google 字体加载说明

android - 如何在android studio中创建自定义字体

ios - iOS 9.3 系统字体名称是什么?