`
A.L.M
  • 浏览: 2787 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaFX2如何使用第三方字体(use custom fonts in JavaFX2)

 
阅读更多
如何在JavaFX2中使用第三方字体?当然最简单的办法就是把要使用第三方字体安装到操作系统中就行了。但是实际应用中,考虑到更好的效果,客户电脑中没有这些字体,如果强行使其安装过于繁琐,幸好,JavaFX2中使用第三方字体是非常方便的。

方法一:
1.新建一个resources/font到你的工程目录。

2.拷贝字体文件(例如isadoracyr.ttf)到上述目录下。

3.在源码中使用Font类的load静态方法load字体:
Font isaFont = Font.loadFont("file:resources/fonts/isadoracyr.ttf", 20);


此方法可以直接到文件上去load字体,但是这只能得到某个字体,拥有固定的大小,如果我要在程序中使用,每个都得setFont去设置。而且最重要的问题,如何在css中使用呢。css的应用应该来说是JavaFX非常重要的特性,如何在css中使用第三方字体呢?

方法二:
1.在NetBeans工程source中新建一个front package。


2.在工程文件下新建一个文件名为font.mf,目录结构如下。

font.mf内容应该要形如下面的结构:
isadorascc=/font/isadorascc.ttf

说明:"="前面的是你将要在代码中引用的字体名,后面的是字体文件目录。

3.在打jar包的时候将font.mf文件放到META-INF的目录下,只需要修改build.xml,添加如下代码:
<target name="-post-compile">
    <mkdir dir="${build.classes.dir}/META-INF"/>
    <copy todir="${build.classes.dir}/META-INF" file="fonts.mf"/>
</target>


4.基本上完成了设置,如何在css中使用此字体呢,看下面的一段css:
#text1 {
    -fx-fill: red;
    -fx-font-size: 28; 
}

#text2 {
    -fx-fill: green;
    -fx-font-family: "isadorascc";	 
    -fx-font-size: 28; 
}

#text3 {
    -fx-fill: blue;
    -fx-font-family: "monospace";	 
    -fx-font-size: 28; 
}

其中id为text2的就使用了isadorascc字体。

最好就大功告成了,还是来一张测试截图吧,另外附件中有我的对应的整个工程(工程文件是CustomFontApp.zip,IDE使用的是NetBeans7.1)。
Love javaFX!




  • 大小: 7 KB
  • 大小: 4.4 KB
  • 大小: 13.2 KB
分享到:
评论
1 楼 bcw104 2012-04-28  
在win7下显示不了雅黑字体

相关推荐

Global site tag (gtag.js) - Google Analytics