Aggiungi icone a Jbutton utilizzando il carattere personalizzato da Awesomefont e Unicode Caratteri in Java Swing?

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

Domanda

Ho un jbutton e voglio aggiungere un'icona ad esso.Vorrei utilizzare le icone basate sui font da Fontawesome che fornisce un file di carattere TrueType.L'icona che sto cercando di aggiungere è l'icona del pulsante di riproduzione.L'icona del pulsante PLAY nel file CSS per Fontawesome è \f04b che credo traduce in \uf04b in Java.

È così che sto caricando il carattere nel costruttore di By IconButton Base Class.

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();
    }
  }
}
.

Nella classe di implementazione StartButton è come sto impostando il testo.

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

Questo è quello che ottengo.Niente.

jbutton

Qualsiasi aiuto è molto apprezzato.

Modifica: vedi la risposta qui sotto.

È stato utile?

Soluzione

Penso di aver risolto questo in realtà.Il personaggio corretto è \uf04b non \u0f4b.Whoops!:)

Questo funziona per me ora.

jbutton con icona di gioco

Altri suggerimenti

prova jiconfont (swing o javafx) a http://jiconfont.github.io/ Esempio:

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

JButton button = new JButton(icon);
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top