Aggiungi icone a Jbutton utilizzando il carattere personalizzato da Awesomefont e Unicode Caratteri in Java Swing?
-
10-12-2019 - |
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.
Qualsiasi aiuto è molto apprezzato.
Modifica: vedi la risposta qui sotto.
Soluzione
Penso di aver risolto questo in realtà.Il personaggio corretto è \uf04b
non \u0f4b
.Whoops!:)
Questo funziona per me ora.
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);
.