我想更改Java GUI应用程序中的字体。
目前我正在使用 Font newFont = new Font(" Serif",Font.BOLD,24); 。要更改字体。
我怎样才能使用像漫画sans'这样的字体?或者' calibri'在我的基于GUI的GUI应用程序中?
目前我使用的是jdk 1.60。
答案 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)
的内容来创建新字体
例如......
显示: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 []包含所有可用的字体类型