Event

Eventクラスは Objectクラスの直接のサブ・クラスです。 java.awtパッケージに含まれます。 Eventはイベント情報を記憶するためのクラスです。

Eventクラスの変数

Eventクラスにはイベントの種々の情報を記憶するため、 多数の publicな変数が用意されています。 イベントの種類ごとに以下の項目のようにグループ分けして解説します。

  1. Eventの情報を記憶する変数
  2. Eventの種類を表す定数
  3. 個々のキーを表す定数
  4. キーの修飾を表す定数

Eventの情報を記憶する変数

イベントに関する情報は上記の 10個の変数に記憶されます。 targetはイベントが発生したオブジェクトです。 when はイベントのタイム・スタンプです(ミリ秒単位)。 id はイベントの種類を記憶するための変数です。イベントの種類の識別には 後述の定数値を利用します。 x および y はイベントが発生した座標です。 key はキーのコードです。(キーボード・イベントの場合のみ意味を持ちます。) modifiers はキーの修飾状態を表す変数です。 各ビットに、シフト、コントロール、メタ、アルト・キーが押されているか どうかを独立に記憶します。状態を取り出すには 後述のマスクの定数を利用するか、専用のメソッドを利用します。 (キーボード・イベント以外の処理でも利用されます。) clickCount はマウスのクリックの回数を記憶します。 この値が2ならばダブル・クリックです。 マウス・クリック以外の場合は値は 0です。 arg は不定型のデータをイベントに渡す時に利用されます。 特別なオブジェクトをあらかじめ用意しておき、 Eventのオブジェクトを生成する時に引数として渡すことが可能です。 evt は別の Event のオブジェクトへのリンクを提供します。 イベントの系列をリスト構造として取り扱いたい場合に利用します。 arg と evt は Eventのオブジェクトに常に必要なデータというわけではありません。

Eventの種類を表す定数

イベントの種類は変数 id に記憶されます。 その値の識別には上に定義された定数を用います。

個々のキーを表す定数

キーの情報は変数 key の値に記憶されますが、 キーボードのキーのうちのいくつかは、1バイトのコードには対応していません。 これらの定数は、そうした特殊キー用に定義されたものです。 カーソル移動やファンクション・キーの識別には、これらの定数を用います。 BackSpace や Escapeなどのキー、 あるいは Ctrl+C などの入力は対応するアスキー・コードの値で識別されます。

キーの修飾を表す定数

これらの定数値は、変数 modifiers の値から キーの修飾の状態を得るために用います。

Eventクラスのメソッド

Eventクラスには、 引数の区別もすると3個のコンストラクタと6個のメソッド定義されています。 メソッドの目的ごとに以下の項目のようにグループ分けして解説します。

  1. コンストラクタ
  2. キーの修飾に関するメソッド
  3. オブジェクト自身に関するメソッド

コンストラクタ

通常のプログラムでは Eventのオブジェクトを内部で生成することはなく、 外部から与えられたものを利用する場合がほとんどです。 しかし特殊なケースとしてユーザーの操作を擬似的に再現したり、 与えられたイベント情報を元に新しいイベント情報を生成し、 それを他のオブジェクトに転送することはあり得ます。 そのような場合は上記のコンストラクタを利用します。 主要な変数の値は引数で指定することができます。 それぞれの意味は上述の変数の解説を参照してください。

キーの修飾に関するメソッド

これらのメソッドは、 イベント発生時にシフト・キー、コントロール・キー、メタ・キーの修飾キーが 押されていたかをチェックします。 これらのメソッドは、キーボード・イベントの処理の中では利用する必要はありません。 むしろマウス・イベントの処理の中で必要になります。 (シフト・キーを押しながらのドラッグの処理などのため)

オブジェクト自身に関するメソッド

translate()メソッドはオブジェクトの座標の情報を相対移動します。 (原点を与えられた点に移動する。) paramString()およびtoString()メソッドはイベントの 座標とキーに関する情報を Stringクラスのオブジェクトとして返します。 (デバッグの時に便利です。)