如何在 drawString Java 中更改字体大小
2022-09-01 00:20:46
如何使字体大小更大?g.drawString("Hello World",10,10);
如何使字体大小更大?g.drawString("Hello World",10,10);
g.setFont(new Font("TimesRoman", Font.PLAIN, fontSize));
其中 fontSize 是一个整型。用于 drawString 的 API 声明 x 和 y 参数是坐标,与文本大小无关。
由于您无法指望特定字体可用,因此一个好方法是从当前字体派生新字体。这给了你相同的家庭,体重等,只是更大...
Font currentFont = g.getFont();
Font newFont = currentFont.deriveFont(currentFont.getSize() * 1.4F);
g.setFont(newFont);
您还可以使用 TextAttribute。
Map<TextAttribute, Object> attributes = new HashMap<>();
attributes.put(TextAttribute.FAMILY, currentFont.getFamily());
attributes.put(TextAttribute.WEIGHT, TextAttribute.WEIGHT_SEMIBOLD);
attributes.put(TextAttribute.SIZE, (int) (currentFont.getSize() * 1.4));
myFont = Font.getFont(attributes);
g.setFont(myFont);
TextAttribute方法通常给人更大的灵活性。例如,可以将粗细设置为半粗体,如上例所示。
最后一个建议...由于显示器的分辨率可能不同,并且随着技术的增加而不断增加,因此请避免添加特定量(例如或),而是考虑乘法。这样,您的新字体始终与“当前”字体()成比例,并且当您获得其中一个漂亮的4K显示器时,您将不会编辑代码。getSize()+2
getSize()+4
getSize() * 1.4