我将在我的应用程序中使用自定义字体。为此我使用Font.createFont()
方法。
我的代码如下。当我使用命令
java myAppl.class
字体文件与我的类文件位于同一目录中。但是当我将所有文件和字体文件捆绑在JAR中然后从JAR运行我的应用程序时,自定义字体不会加载。为什么呢?
InputStream is = this.getClass().getResourceAsStream("myfont.TTF");
uniFont=Font.createFont(Font.TRUETYPE_FONT,is);
Font f = uniFont.deriveFont(24f);
我该怎么办?
答案 0 :(得分:4)
InputStream
返回的getResourceAsStream()
null
。如果是null
,则表示资源未找到。答案 1 :(得分:1)
正如安德鲁的回应,我已经测试了上面的代码并且正常工作:
InputStream is = this.getClass().getResourceAsStream("/myfont.TTF");
uniFont=Font.createFont(Font.TRUETYPE_FONT,is);
在文件名前缺少“/”。注意:Netbeans的jar包
答案 2 :(得分:0)
尝试将字体复制到jre / lib / font文件夹
或使用包限定名称(“com.mypackagename.myfont.TTF”)