【发布时间】:2015-07-26 12:39:01
【问题描述】:
我正在使用 JavaFX 版本 8.0.40-b27 并尝试通过 CSS 嵌入自定义/外部字体。我也尝试过编程方法,但都失败了。 “字体”的 System.out.print 返回 null,我怀疑这是原因。
Java:
Font font = Font.loadFont( Main.class.getClassLoader().getResourceAsStream( "application/stratum.ttf"), 10);
System.out.println(font); // Prints "null"
nowPlayingTitle.setFont(font);
CSS:
@font-face {
font-family: stratum;
src: url('stratum.ttf');
}
.text{
-fx-font-family: "stratum", "Segoe UI Light";
-fx-font-weight: 100;
-fx-text-fill: white;
}
目录: http://i.stack.imgur.com/c92ii.png
编辑: System.out.println(font); 现在打印 Font[name=StratumNo1-Thin, family=StratumNo1, style=Thin, size=10.0],所以文件是被正确访问。但是字体仍未在屏幕上呈现:http://i.stack.imgur.com/bueUk.png
【问题讨论】:
-
相关问题:How to embed .ttf fonts is JavaFx 2.2?。正如詹姆斯在他的回答中指出的那样,您的字体 resourceAsStream 参数为您的项目布局指定了不正确的位置。
标签: java fonts javafx external