Ajouter des icônes à JButton l'aide personnalisée à la police de AwesomeFont et des caractères unicode en Java Swing?
-
10-12-2019 - |
Question
J'ai un JButton et je veux ajouter une icône.Je voudrais utiliser la police de base d'icônes de FontAwesome qui fournit un fichier de police TrueType.L'icône que je suis en train d'ajouter, c'est l'icône du bouton de lecture.L'icône du bouton de lecture dans le fichier css pour FontAwesome est \f04b
qui je crois se traduit par \uf04b
en Java.
C'est la façon dont je suis le chargement de la police dans le constructeur de par IconButton de la classe de base.
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();
}
}
}
Dans la mise en œuvre de la classe touche démarrage c'est la façon dont je suis en train de le texte.
public class StartButton extends IconButton {
public StartButton() {
setText(String.valueOf('\u0f4b'));
setForeground(Color.BLACK);
}
}
C'est ce que je reçois.Rien.
Toute aide est très appréciée.
EDIT:Voir la réponse ci-dessous.
La solution
Je pense que j'ai résolu ce problème en fait.Le caractère correct est \uf04b
pas \u0f4b
.Oups!:)
Ce travail est pour moi maintenant.
Autres conseils
Essayez jIconFont (Swing ou JavaFX) à http://jiconfont.github.io/
Exemple:
Icon icon = IconFontSwing.buildIcon(FontAwesome.FLOPPY_O, 15);
JButton button = new JButton(icon);