【问题标题】:How to change font in Java gui application?如何更改 Java gui 应用程序中的字体?
【发布时间】:2014-08-08 08:11:53
【问题描述】:

我想更改我的 Java GUI 应用程序中的字体。

目前我正在使用 Font newFont = new Font("Serif", Font.BOLD, 24);。更改字体。

如何在基于 GUI 的 Java 应用程序中使用“comic sans”或“calibri”等字体?

目前我使用的是 jdk 1.60。

【问题讨论】:

标签: java


【解决方案1】:

您可以首先使用类似...的方式列出可用的字体名称

String fonts[]
        = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();

for (int i = 0; i < fonts.length; i++) {
    System.out.println(fonts[i]);
}

这是检查字体名称的好方法。

如果你这样做,你会发现“Comic Sans”被列为“Comic Sans MS”,这意味着你需要使用new Font("Comic Sans MS", Font.PLAIN, 24)之类的东西来创建一个新字体

例如...

显示:Comic Sans MS、Calibri、外观默认

public class TestPane extends JPanel {

    public TestPane() {
        setLayout(new GridBagLayout());
        JLabel label = new JLabel("Hello");
        label.setFont(new Font("Comic Sans MS", Font.PLAIN, 24));
        GridBagConstraints gbc = new GridBagConstraints();
        gbc.gridwidth = GridBagConstraints.REMAINDER;
        add(label, gbc);

        label = new JLabel("Hello");
        label.setFont(new Font("Calibri", Font.PLAIN, 24));
        add(label, gbc);

        label = new JLabel("Hello");
        Font font = label.getFont();
        label.setFont(font.deriveFont(Font.PLAIN, 24f));
        add(label, gbc);
    }

    @Override
    public Dimension getPreferredSize() {
        return new Dimension(200, 200);
    }

}

【讨论】:

    【解决方案2】:

    我假设您已尝试将 Comic sans 和 calibri 放入构造函数中。如果它不起作用,请确保它在您的情况下是有效的字体。检查-

    String FontList[]; GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); FontList = ge.getAvailableFontFamilyNames();

    FontList[] 包含所有可用的字体类型

    【讨论】:

      猜你喜欢
      • 2023-02-26
      • 2020-10-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 2015-12-19
      • 2023-03-18
      • 2022-01-19
      • 1970-01-01
      相关资源
      最近更新 更多