Добавить иконы в JButton, используя пользовательский шрифт от AwesomeFont и Unicode персонажей в Java Swing?
-
10-12-2019 - |
Вопрос
У меня есть jbutton, и я хочу добавить икону на него.Я хотел бы использовать значки на основе шрифтов из FONAWESOME, который предоставляет файл шрифта TrueType.Икона, которую я пытаюсь добавить, - это значок кнопки воспроизведения.Значок кнопки воспроизведения в файле CSS для Fontawesome является \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);
}
}
.
Это то, что я получаю.Ничего.
Любая помощь очень ценится.
Редактировать: см. Ответ ниже.
Решение
Я думаю, что я решил это на самом деле.Правильный персонаж - генеракодицетагкод, а не генеракодицетагкод.Упс!:)
Это работает для меня сейчас.
Другие советы
попробуйте JiConfont (Swing или Javafx) в http://jiconfont.github.io/ >
Пример:
Icon icon = IconFontSwing.buildIcon(FontAwesome.FLOPPY_O, 15);
JButton button = new JButton(icon);
.