在 java 上为可执行 JAR 文件添加自定义字体文件

Add custom font file on java for executable JAR file

我正在尝试将自定义字体添加到我的 jswing 应用程序,但我找不到如何正确上传 .ttf 文件以便在创建可执行 jar 文件后可以使用它。

这里有问题,new File(getClass().getResourceAsStream("/"+"cs_regular.ttf"))

谢谢!

try {
         GraphicsEnvironment ge = 
             GraphicsEnvironment.getLocalGraphicsEnvironment();
         ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, new File(getClass().getResourceAsStream("/"+"cs_regular.ttf"))));
    } catch (FontFormatException|IOException e) {
         pr("Error_107");
    }

从流创建java.io.File不太容易,您可以直接从流创建Font。 看看这个答案。

这是我现在的工作代码

InputStream stream =ClassLoader.getSystemClassLoader().getResourceAsStream("cs_regular.ttf");
    try {
        csfont = Font.createFont(Font.TRUETYPE_FONT, stream).deriveFont(48f);
    } catch (FontFormatException|IOException e) {
        //handle exeption
    } 
    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    ge.registerFont(csfont);