使用来自 AwesomeFont 的自定义字体和 Java Swing 中的 unicode 字符向 JButton 添加图标?
-
10-12-2019 - |
题
我有一个 JButton,我想为其添加一个图标。我想使用 FontAwesome 中基于字体的图标,它提供了 TrueType 字体文件。我试图添加的图标是播放按钮图标。FontAwesome 的 css 文件中的播放按钮图标是 \f04b
我相信翻译成 \uf04b
在爪哇。
这就是我在 IconButton 基类的构造函数中加载字体的方式。
public class IconButton extends JButton {
public IconButton() {
try {
InputStream in = this.getClass().getResourceAsStream("/fontawesome-webfont.ttf");
Font ttfBase = Font.createFont(Font.TRUETYPE_FONT, in);
Font ttfReal = ttfBase.deriveFont(Font.BOLD, 24);
setFont(ttfReal);
} catch (FontFormatException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
在实现类 StartButton 中,这就是我设置文本的方式。
public class StartButton extends IconButton {
public StartButton() {
setText(String.valueOf('\u0f4b'));
setForeground(Color.BLACK);
}
}
这就是我得到的。没有什么。
任何帮助深表感谢。
编辑:请参阅下面的答案。
解决方案
我想我实际上解决了这个问题。正确的字符是 \uf04b
不是 \u0f4b
. 。哎呀!:)
这现在对我有用。
其他提示
示例:
Icon icon = IconFontSwing.buildIcon(FontAwesome.FLOPPY_O, 15);
JButton button = new JButton(icon);
. 不隶属于 StackOverflow