我正在做一个简单的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);
}


我尝试了在这里和其他网站上找到的解决方案,但效果也不佳。在Java项目文件夹Pong中,我创建了一个名为“ assets”的文件夹中有一个.TTF文件。如果正确的代码不包含trycatch块,那将是完美的。

最佳答案

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);设置字体。

不幸的是,您将需要尝试/抓住。请注意,取决于您的语言水平,multicatch块可能不起作用。如果不只是将它们分成两个捕获块。

07-24 19:26