我有一个小问题,对我来说似乎很傻,但我无法在互联网上找到解决方案。我有一个代码,其中使用ttf文件初始化字体,如下所示。
InputStream is = new BufferedInputStream(new FileInputStream(
"dundalkh.ttf"));
Font f = Font.createFont(Font.TRUETYPE_FONT, is);
现在我使用Graphics Component在屏幕上绘制一个String。在绘制字符串之前,我使用以下行:
g.setFont(f);
g.drawString("Title",300,30);
但是我的字体大小非常小。当我使用f.getSize()方法时,它打印1。 我该如何增加字体大小?
答案 0 :(得分:4)
您需要使用deriveFont方法从初始对象中拉出第二个Font对象:
Font f = Font.createFont(Font.TRUETYPE_FONT, is);
Font newFont = f.deriveFont(10f);
这是doc的条目:
http://docs.oracle.com/javase/6/docs/api/java/awt/Font.html#deriveFont(float)
答案 1 :(得分:2)
Font类有几种deriveFont
方法来创建具有不同参数的字体,特别是font.deriveFont(12f)将创建一个大小为12的字体。
编辑:确保使用浮点数作为大小,因为有deriveFont(int style)设置字体样式,而不是大小。
答案 2 :(得分:0)
试试这个
Font font = new Font(Font.TRUETYPE_FONT, Font.BOLD, 30);
txt.setFont(font);