Dan*_*anM 14 java fonts swing awt embedded-resource
我需要在Java Swing应用程序中使用自定义字体(ttf).如何将它们添加到我的包中并使用它们?
平均同时,我简单地安装它们在Windows,然后我使用它们,但我不希望该应用程序的使用将是如此复杂,它`不是很方便地告诉用户使用我的应用程序之前安装的字体.
Rei*_*eus 19
您可以通过以下方式加载它们InputStream:
InputStream is = MyClass.class.getResourceAsStream("TestFont.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, is);
Run Code Online (Sandbox Code Playgroud)
这个加载的字体没有预定义的字体设置,所以要使用,你必须这样做:
Font sizedFont = font.deriveFont(12f);
myLabel.setFont(sizedFont);
Run Code Online (Sandbox Code Playgroud)
看到:
正如Reimeus所说,你可以使用InputStream.你也可以使用File:
File font_file = new File("TestFont.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, font_file);
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,您都可以将字体文件放在项目的根目录或某个子目录中.根目录应该是运行程序的目录.例如,如果您有一个目录结构,如:
My_Program
|
|-Fonts
| |-TestFont.ttf
|-bin
|-prog.class
Run Code Online (Sandbox Code Playgroud)
你将从My_Program目录中运行你的程序java bin/prog.然后在你的代码中传递给InputStream或File将是的文件路径和名称"Fonts/TestFont.ttf".
| 归档时间: |
|
| 查看次数: |
16136 次 |
| 最近记录: |