1

Java で ""system", Font.BOLD, 90" フォントで描画された文字列を中央揃えにしようとしています。(width/2 - (font.size/2 * num_of_chars)) を試しましたが、うまくいきませんでした。

g2d.setFont(new Font("system", Font.BOLD, 90));
g2d.drawString("Pause", (int) ((800/2) - ((Font.getSize()/2) * 5)),270);
4

1 に答える 1

4

を使用しgetFontMetrics()ます。getStringBounds(String, Graphics)現在のフォントで文字列の境界を取得します。

したがって、次のようになります。

g2d.setFont(new Font("system", Font.BOLD, 90));
String msg = "Pause";
Rectangle2D bounds = g2d.getFontMetrics().getStringBounds(msg, g2d);
g2d.drawString(msg, (int) ((getWidth() + bounds.getWidth()) / 2), 270);
于 2009-03-20T17:18:12.027 に答える