java - 将字体添加到 Swing 应用程序并包含在包中

标签 java swing fonts awt embedded-resource

我需要在我的 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);

参见:

Physical and Logical Fonts

关于java - 将字体添加到 Swing 应用程序并包含在包中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12998604/

相关文章:

java - 使用 JButton 关闭当前打开的应用程序

java - Swing 不显示 unicode 字符

css - 西里尔字符使用@font-face 有问题

java - 删除 View 会在线性布局中留下空白空间

java - 如何获取ArrayList中Object字段的频率

java - 如何创建滑动面板

java - 在 JComboBox 中显示 ArrayList<Object> 中对象的字符串

iOS:创建PDF时独立修改字体高度、宽度和间距

java - Elasticsearch api - @timestamp 的订单聚合

java - 检查耳机是否在不同的 API 级别上连接