用于 Java Swing 应用程序的带有 FlatLaf 的字体系列

问题描述 投票:0回答:1

我正在尝试使用 FlatLaf 更改 Java Swing 应用程序的字体系列。 如果能找到一种方法在 FlatLaf 的自定义主题文件 (mytheme.properties) 中更改它,那就太酷了。我在 FlatLaf 文档中看到可以指定字体系列。

来自 FlatLaf 文档:

family[, family ...] 指定一个或多个字体系列。如果一个家庭是 不可用,则使用下一个家庭。如果没有一个家庭 可用,则使用默认/基本字体系列。如果一个 姓氏包含空格,请用 " 或 ' 括起来。

示例:

defaultFont = 13“Open Sans”、“Noto Sans”、Roboto、Arial

我想下载字体系列并将ttf文件添加到项目中,并通过FlatLaf的.properties文件指定字体系列。

有人可以告诉我如何添加需要先添加到项目中的字体,例如 Google 的 Rubik 吗?

java swing font-family flatlaf
1个回答
0
投票

以下是我根据 Joachim 的评论将 Maven 项目的默认字体设置为 Poppins Black 的方法。

我将下载的字体文件

Poppins-Black.ttf
放入
resources/font
文件夹中。 Maven 将在
resources
文件夹中查找我的字体。

然后,我加载了我的

Poppins-Black.ttf
文件,然后将其注册为字体:

File font_file = new File(this.getClass().getResource("/font/Poppins/Poppins-Black.ttf").getPath());
Black = Font.createFont(Font.TRUETYPE_FONT, font_file);  
GraphicsEnvironment.getLocalGraphicsEnvironment().registerFont(Black);

重要提示:

  • 如果您不使用 Maven,加载字体文件的方法可能会略有不同。
  • 在设置应用程序的外观之前必须执行上述代码。
在我的

.properties

 文件中,我现在可以使用 "Poppins Black"
 来引用新字体:

defaultFont = 18 "Poppins Black"
现在我的应用程序的默认字体将设置为 Poppins Black。

参考文献

  • 为什么我必须调用 GraphicsEnvorinment.registerFont() 即使我的字体是从文件创建的?
  • https://www.formdev.com/flatlaf/typography/
© www.soinside.com 2019 - 2024. All rights reserved.