如何在Java gui应用程序中更改字体?

时间:2014-06-18 06:40:34

标签: java

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

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

我怎样才能使用像漫画sans'这样的字体?或者' calibri'在我的基于GUI的GUI应用程序中?

目前我使用的是jdk 1.60。

2 个答案:

答案 0 :(得分:9)

您可以首先列出可用的字体名称,例如......

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

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

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

如果你这样做,你会发现&#34; Comic Sans&#34;被列为&#34; Comic Sans MS&#34;,这意味着您需要使用类似new Font("Comic Sans MS", Font.PLAIN, 24)的内容来创建新字体

例如......

Font

显示: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);
    }

}

答案 1 :(得分:1)

我假设您已尝试将漫画sans和calibri放入构造函数中。如果它没有工作,请确保它是您的案例中的有效字体。检查 -

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

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