3 回答
TA贡献1865条经验 获得超7个赞
如果在包中包含字体文件(otf,ttf等),则可以通过此处描述的方法在应用程序中使用该字体:
Oracle Java SE 6:java.awt.Font
Oracle 提供了一个教程,显示了这个示例:
try {
GraphicsEnvironment ge =
GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, new File("A.ttf")));
} catch (IOException|FontFormatException e) {
//Handle exception
}
我可能会在某种资源加载器中将其包装起来,但是每次要使用它时都不会从包中重新加载文件。
与原始问题更密切相关的答案是将字体安装为应用程序安装过程的一部分。该过程取决于您选择的安装方法。如果它不是桌面应用程序,您将不得不查看提供的链接。
TA贡献1830条经验 获得超9个赞
我是这样做的!
//create the font
try {
//create the font to use. Specify the size!
Font customFont = Font.createFont(Font.TRUETYPE_FONT, new File("Fonts\\custom_font.ttf")).deriveFont(12f);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
//register the font
ge.registerFont(customFont);
} catch (IOException e) {
e.printStackTrace();
} catch(FontFormatException e) {
e.printStackTrace();
}
//use the font
yourSwingComponent.setFont(customFont);
TA贡献1770条经验 获得超3个赞
在Java教程中,您需要创建一个新字体并在图形环境中注册它:
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, new File("A.ttf")));
完成此步骤后,字体在调用时可用getAvailableFontFamilyNames(),并可在字体构造函数中使用。
添加回答
举报