Color

 Colorクラスは Objectクラスの直接のサブ・クラスです。 java.awtパッケージに含まれます。 Colorは色のデータを表すクラスです。 RGBカラーのデータを内部に記憶する他、 それらのデータを操作するメソッドを提供します。 グラフィックスの操作には欠かせません。
 Colorクラスには publicな変数として利用頻度が高い原色のデータが 13色分用意されています。 (これらもまた Colorクラスのオブジェクトです。) 全て staticな変数なのでコンストラクタによって オブジェクトを生成しなくても利用することができます。 これら以外には publicな変数はありません。

Colorクラスの変数

 一部の色の名前は、あまりなじみがないかもしれません。 cyan(シアン)は水色です。magenta(マゼンタ)は原色のピンクです。 pinkはむしろ淡い肌色に近い色を与えます。

Colorクラスのメソッド

 Colorクラスには、 引数の区別もすると全部で約 20個のコンストラクタとメソッドが定義されています。 メソッドの目的ごとに以下の項目のようにグループ分けして解説します。 Colorのオブジェクト内部のデータはいつでも参照できますが、 Colorのオブジェクト内部のデータをダイナミックに変更することは できません。色を変更するためには新しい Colorのオブジェクト を生成する必要があります。

  1. コンストラクタ
  2. 色の情報を取り出すためのメソッド
  3. RGB情報と HSB情報との変換のメソッド
  4. Colorのオブジェクト自体の情報を与えるメソッド

コンストラクタ

 Colorクラスには3種類のコンストラクタが用意されています。 いずれも RGBのデータを引数に与えます。 データの形式として RGBの3個のデータを 0 から 255 までの int型のデータで、 0.0 から 1.0 までの float型のデータで、 8ビットずつ計 24ビットの int型のデータ1つで与えることができます。 (上位ビットから red,green,blueの順に並ぶ)

色の情報を取り出すためのメソッド

 これらは RGBのデータそのものを取り出す最も基本的なメソッドです。 getRGB()の返値は 8ビットごとの計 24ビットの int型のデータです。

 getColor()メソッドはプロパティに登録されたカラー情報を 基にして Color のオブジェクトを生成します。 第1引数はプロパティの番号を表す Stringクラスのオブジェクトです。 該当するプロパティが登録されていない場合には、第2引数のデータを 基にして Color のオブジェクトが返されます。

 これらのメソッドは Colorのオブジェクトの色を元にして、 ハイライトおよび陰に相当する色を返します。

RGB情報と HSB情報との変換のメソッド

 HSB情報とは、色相(hue)、彩度(saturation)、明度(brightness)の三要素の ことです。RGBtoHSB()メソッドは与えられた RGB情報を HSB情報に変換して返します。返値は float型の配列です。  引数の最後の配列の内容は特に指定する必要はありません。nullを与えてください。 HSBtoRGB()および getHSBColor()メソッドは、 与えられた HSB情報を RGB情報に変換します。 返値は RGBの情報を 24ビットにまとめた int型の数値か、 Colorのオブジェクトになります。 以上の3つのメソッドは staticなので、Colorのオブジェクトを生成しなくても 利用することができます。

Colorのオブジェクト自体の情報を与えるメソッド

 hashCode()メソッドは 24ビットで表現した RGBデータの int型の値を返します。 (働きは getRGB()メソッドと同じです。) equals()メソッドは、与えられた他の色と一致するかをチェックします。 toString()メソッドは、RGBの情報を Stringクラスのオブジェクトとして返します。