我有这个类,我试图在文本字段中显示自定义字体,但是当我运行它时,字体非常小,如2px
小。如果我只是运行font = new Font("sans-serif", Font.PLAIN, 24);
,它会以正确的字体大小显示。
这是它的样子:
以下是我仅使用font = new Font("sans-serif", Font.PLAIN, 24);
是什么原因导致带有自定义字体的小文本框?
public class Search extends JTextField{
public Search(int width){
super(width);
Font font;
String filename = "/media/fonts/SourceCodePro-Light.ttf";
try{
InputStream is = this.getClass().getResourceAsStream(filename);
font = Font.createFont(Font.TRUETYPE_FONT, is);
font = font.deriveFont(24);
}catch(FontFormatException | IOException ex){
font = new Font("sans-serif", Font.PLAIN, 24);
}
this.setFont(font);
}
}
答案 0 :(得分:1)
font.deriveFont
有两个重载形式,可能非常相似。采用int
的人设置字体样式,采用float
的人设置字体大小。你正在调用int
版本而不是float
版本。将24
更改为24.0f
,即可生效