Symbole zu JButton hinzufügen, indem Sie eine benutzerdefinierte Schriftart von AwesomeFont und Unicode-Zeichen in Java Swing verwenden?

StackOverflow https://stackoverflow.com//questions/9639894

Frage

Ich habe einen JButton und möchte ihm ein Symbol hinzufügen.Ich möchte die schriftartbasierten Symbole von FontAwesome verwenden, das eine TrueType-Schriftartdatei bereitstellt.Das Symbol, das ich hinzufügen möchte, ist das Wiedergabeschaltflächensymbol.Das Play-Button-Symbol in der CSS-Datei für FontAwesome ist \f04b was meiner Meinung nach übersetzt bedeutet \uf04b in Java.

So lade ich die Schriftart in den Konstruktor der Basisklasse „by 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();
    }
  }
}

In der implementierenden Klasse StartButton stelle ich den Text so ein.

public class StartButton extends IconButton {
  public StartButton() {
    setText(String.valueOf('\u0f4b'));
    setForeground(Color.BLACK);
  }
}

Das ist es, was ich bekomme.Nichts.

JButton

Jede Hilfe wird sehr geschätzt.

BEARBEITEN:Siehe Antwort unten.

War es hilfreich?

Lösung

Ich glaube, ich habe das tatsächlich gelöst.Der richtige Charakter ist \uf04b nicht \u0f4b.Hoppla!:) :)

Das funktioniert jetzt bei mir.

JButton with Play Icon

Andere Tipps

Probieren Sie jIconFont (Swing oder JavaFX) unter http://jiconfont.github.io/

Beispiel:

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

JButton button = new JButton(icon);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top