java - 为 JLabel 设置自定义字体

标签 java swing user-interface fonts jlabel

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

我尝试了在此处和其他网站上找到的解决方案,但效果也不佳。在我在名为 PongJava 项目文件夹 中创建的名为“assets”的文件夹中,有一个 .TTF 文件。如果正确的代码不包含 trycatch 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/

相关文章:

java - 允许用户选择图形形状和颜色的 GUI 应用程序

java - 我不明白在将 toString 与我的 UI 混合时遇到的问题

java - MySQL、Java 和插入表

java - 更有效地为 JList 加载图像,大概是使用 SwingWorker

java - UnsatifiedLinkException java——由 LTI-CIVIL 引起

java - 如何在按下按钮时循环播放声音并在释放时停止播放?

c++ - 将项目移植到我的笔记本电脑会导致黑屏

c++ - 将 QGLWidget 添加到 QMainWindow

java - 如何更改路径,使其在 java 中同时适用于 Windows 和 Linux?

java - 使用 Java Servlet 访问 post 变量