JButton上的字体真棒

时间:2014-10-07 10:35:52

标签: java swing

我想在JButton上显示 font awesome 图标。我做了以下

Font font = null;
try
{
    font = Font.createFont(Font.TRUETYPE_FONT, new File("../icons/fontawesome-webfont.ttf"));
    font = font.deriveFont(18f);

    GraphicsEnvironment ge = 
        GraphicsEnvironment.getLocalGraphicsEnvironment();
    ge.registerFont(font);
}
catch ( FontFormatException ex ){ex.printStackTrace();}
catch ( IOException ex ){ex.printStackTrace();}

private JButton save_btn = new JButton();
save_btn.setFont(font);
save_btn.setText("\uf0c7");
save_btn.setPreferredSize( buttonDimension );

但我得到的只是enter image description here

如果我将字体与JTextArea一起使用,它可以正常使用

JTextArea t = new JTextArea();
t.setRows( 2);
t.setColumns( 12);
t.setFont( font );
t.setText( "\uF0F3 \uF1EC \uf0f3 \uf1ec");
buttonPanel.add(t);

我得到enter image description here

2 个答案:

答案 0 :(得分:2)

我的猜测是你的按钮尺寸太小,无法显示你想要显示的符号,按钮会恢复显示“...”,这些字体在字体中看起来不太好。

答案 1 :(得分:0)

我发现了问题,我删除了

save_btn.setPreferredSize( buttonDimension );

现在它运作正常!

enter image description here