14

我有一个 JButton,我想给它添加一个图标。我想使用 FontAwesome 中基于字体的图标,它提供了 TrueType 字体文件。我要添加的图标是播放按钮图标。FontAwesome 的 css 文件中的播放按钮图标是\f04b我认为\uf04b用 Java 翻译的。

这就是我在 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);
  }
}

这就是我得到的。没有。

按钮

任何帮助深表感谢。

编辑:见下面的答案。

4

2 回答 2

12

我想我实际上解决了这个问题。正确的字符\uf04b不是\u0f4b。哎呀!:)

这现在对我有用。

带有播放图标的 JButton

于 2012-03-09T19:40:56.883 回答
2

在http://jiconfont.github.io/尝试 jIconFont(Swing 或 JavaFX)

例子:

Icon icon = IconFontSwing.buildIcon(FontAwesome.FLOPPY_O, 15);

JButton button = new JButton(icon);
于 2016-02-17T18:00:00.147 回答