如何在 drawString Java 中更改字体大小

2022-09-01 00:20:46

如何使字体大小更大?g.drawString("Hello World",10,10);


答案 1
g.setFont(new Font("TimesRoman", Font.PLAIN, fontSize)); 

其中 fontSize 是一个整型。用于 drawString 的 API 声明 x 和 y 参数是坐标,与文本大小无关。


答案 2

由于您无法指望特定字体可用,因此一个好方法是从当前字体派生新字体。这给了你相同的家庭,体重等,只是更大...

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()+2getSize()+4getSize() * 1.4


推荐