现在,我知道,在JButton文本中可以实现不同的字体系列。 如下所示
JButton button = new JButton("<html><font face=Arial>Hello </font><font face=Verdana>World</font></html>");
看起来像这样。 Arial的“你好”和Verdana的“世界”。
但是,如果我想要一个单词来使用Font.createFont()
方法创建的字体,该怎么办?我想,这样的事情会起作用。
Font myFont = createMyFont();
JButton button = new JButton("<html><font face=MyFont>Hello </font>World</html>");
这个问题的重要性在于我正在创建一个多语言软件,它在一个JButton
中有两种字体。
所以,我希望我的JButton
是这样的:
但是,就像这样:
答案 0 :(得分:2)
注册自定义字体:
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment()
ge.registerFont(myFont);
之后,提供文件名,例如:
URL fontUrl;
try {
fontUrl = new URL("http://www.webpagepublicity.com/" +
"free-fonts/a/Airacobra%20Condensed.ttf"); // dummy font
Font myFont = Font.createFont(Font.TRUETYPE_FONT, fontUrl.openStream());
myFont = myFont.deriveFont(Font.PLAIN,20);
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(myFont);
button.setText("<html><font face='Airacobra Condensed'>Hello </font>World</html>");
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (FontFormatException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
通过右键单击字体文件,选择属性 - &gt;,可以在Windows上获取文件名。细节,那里是标题。示例:FontAwesome Regular。