Java 字体显示在文本字段中非常小
我有这个类,我试图在文本字段中显示自定义字体,但是当我运行它时,字体非常小,就像Java 字体显示在文本字段中非常小,java,swing,fonts,jtextfield,Java,Swing,Fonts,Jtextfield,我有这个类,我试图在文本字段中显示自定义字体,但是当我运行它时,字体非常小,就像2pxtiny。如果我只是运行font=newfont(“sans serif”,font.PLAIN,24)它在正确的字体大小下显示良好 下面是它的外观: 这里是当我只使用font=newfont(“sans serif”,font.PLAIN,24)时的样子 是什么导致小文本框使用自定义字体 public class Search extends JTextField{ public Search(
2px
tiny。如果我只是运行font=newfont(“sans serif”,font.PLAIN,24)代码>它在正确的字体大小下显示良好
下面是它的外观:
这里是当我只使用font=newfont(“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);
}
}
font.deriveFont
有两个重载表单,它们可能非常相似。取int
的设置字体样式,取float
的设置字体大小。您正在调用int
版本,而不是float
版本。将24
更改为24.0f
,它将工作Wow!我从另一门课上抄袭,那里甚至有一个浮动。谢谢你!所有LayoutManager接受的初始首选尺寸的JTextField(int)(不包括NullLayout)