でフォントサイズを大きくするにはg.drawString("Hello World",10,10);
?
214723 次
5 に答える
74
g.setFont(new Font("TimesRoman", Font.PLAIN, fontSize));
fontSize は int です。drawStringのAPIは、x および y パラメータは座標であり、テキストのサイズとは無関係であると述べています。
于 2013-08-15T09:27:58.423 に答える
22
特定のフォントが利用できるとは限らないため、現在のフォントから新しいフォントを派生させることをお勧めします。これにより、同じ家族、体重などが得られますが、大きくなります...
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 メソッドを使用すると、さらに柔軟性が向上します。たとえば、上記の例のように、ウェイトを半太字に設定できます。
最後に 1 つの提案... モニターの解像度は異なる可能性があり、テクノロジによって増加し続けるため、特定の量 (getSize()+2
または などgetSize()+4
) を追加することは避け、代わりに乗算することを検討してください。このように、新しいフォントは一貫して「現在の」フォント ( getSize() * 1.4
) に比例し、これらの優れた 4K モニターのいずれかを入手したときにコードを編集する必要はありません。
于 2015-05-14T23:02:10.533 に答える
7
Font myFont = new Font ("Courier New", 1, 17);
17 はフォントサイズを表します。それができたら、次のものを置くことができます:
g.setFont (myFont);
g.drawString ("Hello World", 10, 10);
于 2015-12-27T19:44:43.163 に答える