Ответ 1
Думаю, я решил это на самом деле. Правильный символ \uf04b
не \u0f4b
. Упс!:)
Теперь это работает для меня.
У меня есть JButton, и я хочу добавить к нему значок. Я хотел бы использовать значки на основе шрифтов из FontAwesome, который предоставляет файл шрифта 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);
}
}
Это то, что я получаю. Ничего.
Любая помощь очень ценится.
ИЗМЕНИТЬ: см. ответ ниже.
Думаю, я решил это на самом деле. Правильный символ \uf04b
не \u0f4b
. Упс!:)
Теперь это работает для меня.
Попробуйте jIconFont (Swing или JavaFX) в http://jiconfont.github.io/
Пример:
Icon icon = IconFontSwing.buildIcon(FontAwesome.FLOPPY_O, 15);
JButton button = new JButton(icon);