我正在尝试将JLabel的字体设置为自定义字体。读取文件时不会抛出异常,但是当我调用label.setText("string")
时没有任何异常。当我注释掉label.setFont(f)
行时会显示文字。谁知道我做错了什么?此代码位于JPanel类中。
_mineLabel = new JLabel();
_timeLabel = new JLabel();
try {
Font f = Font.createFont(Font.TRUETYPE_FONT,new File("/Users/simon/Documents/workspace/Minesweeper/bin/minesweeper/DS-DIGI.TTF"));
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(f);
f.deriveFont(12f);
_mineLabel.setFont(f);
_timeLabel.setFont(f);
} catch(IOException e) {
e.printStackTrace();
} catch(FontFormatException e) {
e.printStackTrace();
}
this.add(_mineLabel);
this.add(_timeLabel);
_timeLabel.setText("test");
答案 0 :(得分:2)
更改此行
f.deriveFont(12f);
到
f=f.deriveFont(12f);