Agregar iconos a JButton usando la fuente personalizada de los caracteres Awesomefont y Unicode en Java Swing?

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

Pregunta

Tengo un jbotton y quiero agregarlo.Me gustaría usar los iconos basados en fuentes de Fontawesome, que proporciona un archivo de fuente TrueType.El icono que estoy tratando de agregar es el icono del botón de reproducción.El icono del botón de reproducción en el archivo CSS para Fontawesome es \f04b, que creo que se traduce en \uf04b en Java.

Así es como estoy cargando la fuente en el constructor de IconButton Base Class.

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();
    }
  }
}

En el StartButton de la clase de implementación, así es como estoy configurando el texto.

public class StartButton extends IconButton {
  public StartButton() {
    setText(String.valueOf('\u0f4b'));
    setForeground(Color.BLACK);
  }
}

Esto es lo que obtengo.Nada.

jbutton

Cualquier ayuda es muy apreciada.

Editar: vea la respuesta a continuación.

¿Fue útil?

Solución

I think I solved this actually. The correct character is \uf04b not \u0f4b. Whoops! :)

This is working for me now.

JButton with Play Icon

Otros consejos

Try jIconFont (Swing or JavaFX) at http://jiconfont.github.io/

Example:

Icon icon = IconFontSwing.buildIcon(FontAwesome.FLOPPY_O, 15);

JButton button = new JButton(icon);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top