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

标签 java

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

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

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

目前我使用的是jdk 1.60。

最佳答案

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

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) 创建新字体

例如……

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);
    }

}

关于java - 如何在 Java gui 应用程序中更改字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24278648/

相关文章:

java - 用于文件写入和模拟数据库的单例与静态类

java - 发布/订阅中间件

Java JButton 在 If 语句中不创建

java - 在Java中以最优化的方式比较Oracle的2个表之间的数据

java - 如何用JAVA输入输出对话框求三个数的平均值?

java - PropertyPlaceholderConfigurer 位置内的 Spring 占位符

java - 条件参数的紧凑 Java 语法?

java - 从 Spring Controller 中删除重复项

java - 如何命名一个包含 Id 和 Name 的基类?

java - 在Python中,[None]在类编码期间做什么/意味着什么?