Adicionar ícones para JButton utilizando o tipo de letra personalizado de AwesomeFont e caracteres unicode em Java Swing?

StackOverflow https://stackoverflow.com//questions/9639894

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.

JButton

Qualquer ajuda é muito apreciada.

EDITAR:Veja a resposta abaixo.

Foi útil?

Solução

Eu acho que eu resolvi isso, na verdade.O caractere correto é \uf04b não \u0f4b.Whoops!:)

Esse é um trabalho para mim agora.

JButton with Play Icon

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);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top