将字体添加到 Swing 应用程序并包含在包中
2022-09-03 00:05:32
我需要在我的 Java Swing 应用程序中使用自定义字体 (ttf)。如何将它们添加到我的软件包中并使用它们?
我的意思是,我只是将它们安装在Windows中,然后使用它们,但我不希望应用程序的使用会如此复杂,在使用我的应用程序之前告诉用户安装字体不是很方便。
我需要在我的 Java Swing 应用程序中使用自定义字体 (ttf)。如何将它们添加到我的软件包中并使用它们?
我的意思是,我只是将它们安装在Windows中,然后使用它们,但我不希望应用程序的使用会如此复杂,在使用我的应用程序之前告诉用户安装字体不是很方便。
您可以通过以下方式加载它们:InputStream
InputStream is = MyClass.class.getResourceAsStream("TestFont.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, is);
此加载的字体没有预定义的字体设置,因此要使用,您必须执行以下操作:
Font sizedFont = font.deriveFont(12f);
myLabel.setFont(sizedFont);
看:
正如Reimus所说,您可以使用.您还可以使用 :InputStream
File
File font_file = new File("TestFont.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, font_file);
在这两种情况下,您都可以将字体文件放在项目的根目录或某个子目录中。根目录应该是运行程序的目录。例如,如果您有一个目录结构,例如:
My_Program
|
|-Fonts
| |-TestFont.ttf
|-bin
|-prog.class
您将使用 从目录中运行程序。然后在代码中,要传递给 or 的文件路径和名称将为 。My_Program
java bin/prog
InputStream
File
"Fonts/TestFont.ttf"