我正在做一个简单的 Pong 游戏,想要添加 8 位字体,但不知道如何添加。 这是我用于 JLabels 的方法:
public void drawScore()
{
player1 = "Player 1";
player2 = "Player 2";
JLabel leftScore = new JLabel(player1);
JLabel rightScore = new JLabel(player2);
leftScore.setForeground(Color.white);
rightScore.setForeground(Color.white);
leftScore.setLocation(20, 0);
rightScore.setLocation(730, 0);
leftScore.setSize(100, 40);
rightScore.setSize(100, 40);
add(leftScore);
add(rightScore);
}
我尝试了在此处和其他网站上找到的解决方案,但效果也不佳。在我在名为 Pong 的 Java 项目文件夹 中创建的名为“assets”的文件夹中,有一个 .TTF 文件。如果正确的代码不包含 try
和 catch
block ,那就完美了。
最佳答案
private static Font fontAwesome;
static {
try (InputStream in = YOURCLASS.class.getClassLoader().getResourceAsStream("assets/fontawesome-webfont.ttf")) {
fontAwesome = Font.createFont(Font.TRUETYPE_FONT, in);
} catch (FontFormatException | IOException e) {
e.printStackTrace();
}
}
这是一个 fontawesome 的示例。将其粘贴到类的顶部,然后只需使用
leftScore.setFont(fontAwesome);
设置字体。
不幸的是,您将需要 try/catch。请注意,根据您的语言级别,multicatch block 可能不起作用。如果它不只是将它们分成两个 catch block 。
关于java - 为 JLabel 设置自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22746108/