色の設定

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クラスには次のようなコンストラクタがあります。

コンストラクタ 動作など 利用例
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メソッド

図形の色はsetColorメソッドを使って指定します。描画のメソッドの直前にこのメソッドを使い色を指定します。

このメソッドの引数は色の定数やColorコンストラクタで作られたColorクラスです。

setColor(C)

Cが色定数やColorコンストラクタで作られた色。

サンプルプログラム 1

次のプログラムは「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での実行結果 ブラウザでの表示

サンプルプログラム2

次のプログラムはループを利用して青のグラデーションを描くものです。

// アプレット 色の利用
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);