Javaアプレットから色を使うにはjava.awt.colorクラスを使います。
このクラスには色を名前で指定できる定数、色をRGBの三原色の割合から作るColorコンストラクタ、色を操作するメソッドが含まれています。
次の表に示す13色が定義されています。
色を示す定数 | 実際の色 | 色を示す定数 | 実際の色 |
---|---|---|---|
Color.black | 黒 | Color.magenta | マゼンタ(紫) |
Color.blue | 青 | Color.orange | オレンジ |
Color.cyan | シアン(水色) | Color.pink | ピンク |
Color.darkGray | ダークグレイ | Color.red | 赤 |
Color.gray | グレイ | Color.white | 白 |
Color.green | 緑 | Color.yellow | 黄色 |
Color.lightGray | ライトグレイ(HTMLにはない名前) |
コンストラクタとはクラスのインスタンス(コピー)を作る機能のことです。Colorクラスのコンストラクタは色を作る(指定する)機能ということになります。
Colorクラスには次のようなコンストラクタがあります。
コンストラクタ | 動作など | 利用例 |
---|---|---|
Color(R, G, B) | R、G、Bはint型の値で、RGBの三原色を0〜255の値で指定します。 | Color C = new Color(123, 100, 90); |
Color(rgb) | rgbはint型の値で、その値の23〜16ビットが赤、15〜8が緑、7〜0が青の割合を指定する。 | Color C = new Color(8086618); |
Color(r, g, b) | r、g、bはfloat型の値でRGBの三原色を0.0〜1.0fの範囲で指定する。 | Color C = new Color(0.48f, 0.39f, 0.35f) |
図形の色はsetColorメソッドを使って指定します。描画のメソッドの直前にこのメソッドを使い色を指定します。
このメソッドの引数は色の定数やColorコンストラクタで作られたColorクラスです。
setColor(C)
Cが色定数やColorコンストラクタで作られた色。
次のプログラムは「Hello Java Applet!!」という文字列を青で描くものです。
// アプレット 色の利用 import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; // <applet code="Ex_Color01" width=200 height=200> </applet> public class Ex_Color01 extends Applet { public void paint(Graphics g) { // 定数で色指定 g.setColor(Color.blue); g.drawString("Hello Java Applet!!", 20, 50); // Colorコンストラクタで色指定 g.setColor(new Color(0, 0, 255)); g.drawString("Hello Java Applet!!", 20, 100); } }
appletviewerでの実行結果 | ブラウザでの表示 |
---|---|
次のプログラムはループを利用して青のグラデーションを描くものです。
// アプレット 色の利用 import java.applet.Applet; import java.awt.Graphics; import java.awt.Color; // <applet code="Ex_Color02" width=255 height=200> </applet> public class Ex_Color02 extends Applet { public void paint(Graphics g) { int i; for (i = 0; i <= 255; i++){ // 色の作成 Color C = new Color(0, 0, i); g.setColor(C); g.drawLine(i, 0, i, 200); } } }
appletviewerによる実行結果 | ブラウザによる表示 |
---|---|
アプレットの背景と前景の色を指定するときはsetBackground()とsetForeground()メソッドを使います。
それぞれのメソッドの引数に色を指定します。
たとえば、背景色を青、前景色を赤に指定するときは次の文をプログラム中に挿入します。
setBackground(Color.blue); setForeground(Color.red);