如何在编译时包含字体



我有一个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()并省略包部分。

相关内容

  • 没有找到相关文章

最新更新