我想在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 );
但我得到的只是
如果我将字体与JTextArea一起使用,它可以正常使用:
JTextArea t = new JTextArea();
t.setRows( 2);
t.setColumns( 12);
t.setFont( font );
t.setText( "\uF0F3 \uF1EC \uf0f3 \uf1ec");
buttonPanel.add(t);
我得到
答案 0 :(得分:2)
我的猜测是你的按钮尺寸太小,无法显示你想要显示的符号,按钮会恢复显示“...”,这些字体在字体中看起来不太好。
答案 1 :(得分:0)
我发现了问题,我删除了
save_btn.setPreferredSize( buttonDimension );
现在它运作正常!