我想在我的Java GUI应用程序中更改字体。
目前我正在使用 Font newFont = new Font("Serif", Font.BOLD, 24); 来更改字体。
我该如何在我的Java GUI应用程序中使用像'comic sans'或'calibri'这样的字体?
目前我正在使用jdk 1.60。
我想在我的Java GUI应用程序中更改字体。
目前我正在使用 Font newFont = new Font("Serif", Font.BOLD, 24); 来更改字体。
我该如何在我的Java GUI应用程序中使用像'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)
的东西来创建新字体。
例如...
显示: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);
}
}
我假设您已经尝试在构造函数中使用Comic Sans和Calibri字体。如果不起作用,请确保在您的情况下它是有效的字体。请使用以下代码检查 -
String FontList[];
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
FontList = ge.getAvailableFontFamilyNames();
FontList [] 包含所有可用的字体类型。