Adicionar ícones para JButton utilizando o tipo de letra personalizado de AwesomeFont e caracteres unicode em Java Swing?
-
10-12-2019 - |
Pergunta
Eu tenho um JButton e quero adicionar um ícone para ele.Eu gostaria de utilizar o tipo de letra com base ícones de FontAwesome que fornece um arquivo de fonte TrueType.O ícone estou tentando adicionar o botão de reprodução ícone.A peça ícone do botão no arquivo css para FontAwesome é \f04b
o que eu acredito que se traduz \uf04b
em Java.
Isto é como eu estou carregando o tipo de letra no construtor de IconButton classe 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();
}
}
}
Na implementação de classe StartButton isto é como eu sou definição de texto.
public class StartButton extends IconButton {
public StartButton() {
setText(String.valueOf('\u0f4b'));
setForeground(Color.BLACK);
}
}
É isso que eu recebo.Nada.
Qualquer ajuda é muito apreciada.
EDITAR:Veja a resposta abaixo.
Solução
Eu acho que eu resolvi isso, na verdade.O caractere correto é \uf04b
não \u0f4b
.Whoops!:)
Esse é um trabalho para mim agora.
Outras dicas
Tente jIconFont (Swing ou JavaFX) em http://jiconfont.github.io/
Exemplo:
Icon icon = IconFontSwing.buildIcon(FontAwesome.FLOPPY_O, 15);
JButton button = new JButton(icon);