ページへ戻る

+ Links

 印刷 

blike​/Java​/p0004 :: OSASK計画

osaskwiki:blike/Java/p0004

文字を書く anchor.png

  • (by K, 2070.07.09)
Page Top

(0) anchor.png

  • このblikeでは厳密な説明を避けています。そもそもこれはJavaではなくてJavaアプレットだろう?とか、オブジェクト名が違ったらこの限りではないとか、こんな描画方法では処理が重くなるから良くないとか、そういうことは全て承知の上です。そういうことの説明を先送りする代わりに、まずは分かりやすくとっつきやすくしています。
Page Top

(1) anchor.png

  • Javaで文字を書くときは、
    grp.drawString("~", x座標, y座標);
  • という命令を使います。座標は文字の書き始めの位置で、先頭の文字の左上の座標ではなく、先頭文字の左下の座標を指定します。
  • 座標っていうと分かりにくい人は、
    • x座標=画面の左端までの距離
    • y座標=画面の上端までの距離
  • だと思えばいいと思います。
  • だから、x座標を増やせば文字は右に行きますし、y座標を増やせば文字は下に行きます。
  • なお、どんなにたくさん grp.drawString() しても、最後に repaint(); というのを書かないと画面には出ないことがあります。 repaint(); が来るまでJavaは画面描画の処理を間引いて、 repaint(); が来たら遅れたぶんを全部取り戻すということをしています。これは高速化とちらつき防止のためです。
  • 最後だけではなくて、時間待ちなどの前にも repaint(); を忘れないようにしましょう。
  • repaint(); が必要なのは、文字を書くだけではなくて、描画関係の命令すべてに当てはまります。
Page Top

(2) anchor.png

  • Javaで文字を書くとき、文字をもっと大きくしたい、もっと小さくしたい、フォントを少し変えたい、と思うことがあります。
  • そんなときは、
    grp.setFont(new Font("Dialog", 文字のタイプ, 文字の大きさ));
    • 文字のタイプ:
      • Font.PLAIN : 普通の文字
      • Font.ITALIC : 斜体の文字
      • Font.BOLD : 太字
  • とやります。これで次回以降の grp.drawString() では指定したフォントで書けるようになります。文字の大きさは、12が標準の大きさです。
Page Top

(3) anchor.png

  • Javaでは %d みたいな指定がありません。じゃあ、変数の内容を表示するにはどうするの?ってなるわけですが、それは「数字を文字列に変換した上で、文字列を足し算する」という方法を使います。
  • たとえばこんな感じです。
    a = 3; b = 5;
    grp.drawString(Integer.toString(a) + "+" + Integer.toString(b) + "=" + Integer.toString(a + b), 100, 100);
  • こうすると、画面には、 3+5=8 と出るはずです。
  • 数字だけを書きたいときは、足し算しないで、
    grp.drawString(Integer.toString(a), 100, 100);
  • とかでももちろんOKです。

Last-modified: 2010-07-10 (土) 00:00:00 (JST) (319d) by lina