libro
www.tuyano.com
初心者のためのJava SEプログラミング入門

グラフィックの描画 (4/6)

作成:2010-01-14 16:37
更新:2010-01-14 16:37

■ColorとFont

では、コードを見てみましょう。paintメソッドでは、まずカラーを設定する処理がされています。

Color c = new Color(255,0,0);
g.setColor(c);

これがそうですね。色というのは、「Color」クラスのインスタンスとしてAWTでは扱われています。このインスタンスを作って、Graphicsの描画色を変更すれば、描く図形の色が変わるのです。new Colorでは、3つのパラメータがありますね? これは、それぞれ赤・緑・青の3色の輝度を指定します。これは0~255の整数で指定するのが一般的です。Colorはこの他にもいろんな作り方があるのですが、まずこの「RGBを指定して作る」という方法を覚えておけばよいでしょう。

そしてColorインスタンスができたら、これを「setColor」というメソッドでgに設定します。こうすると、以後、描画用のメソッドを実行すると、それらは全て設定した色で描かれるようになるのです。

Colorインスタンスは、実はnew Colorする他にも設定方法があります。このColorクラスの中には、よく使われる色のインスタンスがあらかじめ用意されているんです。ですから、わざわざColorインスタンスを作らなくても、それらを利用することで色を変更することができます。

g.setColor(Color.red);

例えばこんな具合にすれば、gの色を赤に変更できるんです。「red」「blue」「green」「black」「white」など、けっこういろんな色がColorには用意されています。どんな色が使えるか、各自で実験してみると面白いですよ。

○Fontの利用○
さて、次にフォントに進みましょう。フォントも基本的な考え方はColorと同じです。フォントを示すクラスのインスタンスを作成し、それをgインスタンスに設定すれば、以後そのフォントでテキストのフォントが描かれるようになるというわけです。

Font f = new Font("Dialog",Font.BOLD,24);
g.setFont(f);

これがその部分です。フォントを示すクラスは「Font」というものです。このインスタンスは、やっぱり3つのパラメータからなります。1つ目がフォント名、2つ目がスタイルの設定値、3つ目がサイズを示す整数です。

ただしFontはColorよりもちょっとだけ注意が必要です。まずフォント名。これは「MS明朝」とか「Osaka」とか「ヒラギノ角ゴシックPro」なんて設定してもダメです。Javaでは「論理フォント名」というものを設定しないといけません。

Javaは、プラットフォーム(要するにOS)に依存しないプログラム、どんなOSでも動くプログラムの作成を目指して設計されています。ですから、特定のOSにしか用意されていないフォントは使えないのです。そこで「論理フォント名」というものを用意することにしました。

論理フォント名というのは、Javaの中だけで通用する架空(?)のフォント名と考えて下さい。これを設定すると、実行時にJavaの仮想マシンが「今はWindowsで実行しているからこのフォントだな」というように判断して自動的にフォントを選んでくれる、というわけです。

この論理フォント名としては「Dialog」「Serif」「SansSerif」「Monospaced」といったものがあります。それぞれどんなフォントになるか試してみると面白いでしょう。

もう1つ注意しておきたいのはスタイルの設定です。これは整数の値で指定するんですが、通常はFontクラスに用意されている定数を使います。「Plain」「Bold」「Italic」というのがそれで、「Font.Italic」なんて具合に使って指定してやればいいわけです。

そしてフォントのインスタンスができたら、それを「setFont」で設定します。これでフォントの変更が完了です。あとは、drawStringでテキストを描画すれば、指定した色とフォントで文字が描かれるというわけです。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

※関連コンテンツ

「初心者のためのJava SEプログラミング入門」に戻る