在 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);
我正在尝试将自定义字体添加到我的 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);