スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

java.awt.Graphics.drawString で中央に描画したい。

java.awt.Graphics.drawStringでx,yを指定すると左端の文字のベースラインにその座標がきてしまいます。
そのため文字を座標の中央とかに置くのに苦労します。

また描画する文字の高さとかを取得したいときかもあります。
そんなときは
FontMetricsクラスを使うといいらしい。
Rectangle rectText = fm.getStringBounds(text, g).getBounds();
みたいな感じでtextを描画したときの高さや幅が取得できるし、
fm.getMaxAscent();でベースラインの高さが取得できる。

public static void drawStringCenter(Graphics g,String text,int x,int y){
FontMetrics fm = g.getFontMetrics();
Rectangle rectText = fm.getStringBounds(text, g).getBounds();
x=x-rectText.width/2;
y=y-rectText.height/2+fm.getMaxAscent();

g.drawString(text, x, y);
}

テーマ : プログラミング
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

mamamo

Author:mamamo
変人です。ヘビ使いを目指してます。

ホームページ
->http://littlegameland.appspot.com/

カテゴリ
検索フォーム
カレンダー
03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
最新記事
リンク
ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。