我有一个Java项目,它有一个自定义字体,当在其他计算机上编译时,字体是不一样的,因为我的字体不是用它编译的。我如何用它编译,使其在其他pc上工作?
这段代码不能工作。把它输入我所有的窗口打开。
try {
InputStream istream = getClass().getResourceAsStream("/fonts/cs_regularttf");
Font myFont = Font.createFont(Font.TRUETYPE_FONT, istream);
} catch (FontFormatException fontFormatException) {
} catch (IOException iOException)
{
}
编辑:使用堆栈跟踪方法,这就是我得到的代码。
java.io.IOException: Problem reading font data.
at java.awt.Font.createFont0(Font.java:1000)
at java.awt.Font.createFont(Font.java:877)
at projetfinal.frmMenu.<init>(frmMenu.java:56)
at projetfinal.ProjetFinal.main(ProjetFinal.java:20)
如果你使用getClass().getResourceAsStream(...)
,这将解释给定的路径相对于你的当前包(因此你必须把你的字体在/path/to/your/classes/package/fonts
在你的NetBeans项目的resources/
目录
否则,您可以使用getClass().getClassLoader().getResourceAsStream()
并省略包部分。