一寸だけグラフィックス

ファイルはzipフォルダに納められています。
解凍ソフト(Aladdin Expander等)を使って解凍して下さい。

色を表すクラス(Color)

色を表示させるには、Colorクラスを使います。
Colorクラスはコンパイラと一緒に予め提供されているクラスです。

文字や線の色を変えるメソッド(setColor)

画面に表示する文字や線の色は、指定しなければ黒になります。
此を、他の色に変えたい時は以下の様に書きます。

public void paint(Graphics g){
        g.setColor(色);

}

規定されている色

コンピュータ上で表示されている色は、「赤」「緑」「青」の3色の混ぜる割合を調整してそれぞれの色を作ります。
1色当たり「0」から「255」迄の256通りの数値を設定できる為3色では、

256*256*256 = 16777216通り

の色を表現出来る計算になります。
Colorクラスでは、此等の色の中の代表的な色に次の表の様な名前が付けられています。

名前
Color.black 0 0 0
暗い灰色 Color.darkGray 64 64 64
灰色 Color.gray 128 128 128
明るい灰色 Color.lightGray 192 192 192
Color.white 255 255 255
暗い青 Color.blue 0 0 255
Color.cyan 0 255 255
Color.green 0 255 0
黄色 Color.yellow 255 255 0
Color.red 255 0 0
マゼンダ Color.magenta 255 0 255
オレンジ Color.orange 255 200 0
ピンク Color.pink 255 175 175

文字や線の色を変更する「setColor」の「()」の中には、上の表の何れかの色を書きます。

例: g.setColor(Color.blue);

メソッドを記述する順

メソッドを記述する上でとても重要な事は「paint()」内で「setColor」を書く順番です。
「setColor」は「色の付いたペンに持ち替える」働きをします。
私達は文字を書く時、書きたい色のペンを持って其れから文字を書きますね。
文字を書いて終ってからペンを持ち替えても、書いて終った文字は、最早変更出来ません。
此と同じで、コンピュータに対する命令の順番も、

@色を指定
A文字を書く

と言う順にしなければなりません。

例: g.setColor(Color.blue); //色を指定してから
g.drawString(私のハンドル・ネームは溝ノ口です, 20, 60); //文字を書く

色を作る

Colorクラスに予め登録されている色は、たったの13色しか有りません。
16777216色の中の13色しか登録されていませんが、其れ以外の色は「赤」「緑」「青」の割合を指定して作れます。
其の場合は以下の様に書きます。

public void paint(Graphics g){
     g.setColor(new Color(, , ));
        
}

「赤」「緑」「青」には、それぞれ混ぜる割合を「0〜255」の間の値で指定します。

例: g.setColor(new Color(0, 0, 192)); 

主なグラフィックス描画メソッド

直線や楕円の他に、以下の様な図形を書くメソッドが有ります。

メソッド 使い方
drawLine(x1, y1, x2, y2); 始点(x1, y1)、終点(x2, y2)の直線を引く
drawOval(x, y, width, height); 左上の座標が「(x, y)」、幅「width」、高さ「height」の四角形に内接する楕円を描く
fillOval(x, y, width, height); 左上の座標が「(x, y)」、幅「width」、高さ「height」の四角形に内接する楕円を塗り潰す
drawRect(x, y, w, h); 左上の座標が「(x, y)」、幅「width」、高さ「height」の四角形を描く
fillRect(x, y, w, h); 左上の座標が「(x, y)」、幅「width」、高さ「height」の四角形を塗り潰す
drawArc(x, y, width, height, startAngle, arcAngle); 左上の座標が「(x, y)」、幅「width」、高さ「height」の四角形に内接する楕円の弧の一部を描く
3時の方向を0度として、初めの角度「startAngle」から「arcAngle」迄の角度へ弧を描く
fillArc(x, y, width, height, startAngle, arcAngle); 左上の座標が「(x, y)」、幅「width」、高さ「height」の四角形に内接する楕円の一部を塗り潰す
3時の方向を0度として、初めの角度「startAngle」から「arcAngle」迄の角度へ塗り潰した弧を描く
ソース ダウンロード
HelloGuiColor.java HelloGui02.zip
House.java House01.zip

フォント

フォントを表すクラス(Font)

文字の種類を表すには、Fontクラスを使います。
Fontクラスは、予めコンパイラと一緒に提供されているクラスです。
此のクラスには「フォント名」「スタイル」「フォントサイズ」の3つの情報が含まれています。

Fontクラスの役割

フォント名 マシンに登録されているフォント名
スタイル 以下のスタイルの何れかを指定
Font.PRAIN 通常文字
Font.BOLD 太字
Font.ITALIC 斜体
太字と斜体の両方指定する時は「Font.BOLD+Font.ITALIC」の様に指定
サイズ フォントのサイズ
ポイントで指定

フォントを変更するメソッド(setFont)

「フォント名」「スタイル」「フォントサイズ」を変更したい時には、以下の様に書きます。

public void paint(Graphics g){
        g.setFont(new Font(フォント名, スタイル, サイズ));

}

「フォント名」「スタイル」「サイズ」の部分に上紹介した内容を書きます。
又、フォント名は「"」で囲みます。
「setFont」の前に「g.」が付いていますが、「g」はGraphicsクラスのオブジェクトでしたね。
そのため、「setFont」はGraphicsクラスに所属するメソッドだと言う事が解ります。

ソース ダウンロード
HelloGuiFont.java HelloGui03.zip

戻る