マウスのイベント処理

Appletクラスにあらかじめ組み込まれた マウスのイベント処理の機能を説明します。
マウスのイベント処理は、一番よく利用されるものです。
Appletクラスには以下に示す6個の関数が、 マウスのイベント処理のために用意されています。

これらの関数は、 それぞれに対応するイベントが発生した時、自動的に呼び出されます。 すべてのアプレットは、 これらの関数の中に新しい処理を組み込むことでイベント処理を行います。

 

 

実際のイベント処理の関数の例を見てみましょう。


 public void mouseDown( int x, int y ) {

      stateFlag = true;
      repaint();      // paint() を呼び出す
 }


関数の型や引数の与え方まで決まっていることに注意してください。
 mouseDown()  などで渡される int型のデータは、
アプレット内のイベントが発生した位置の座標です。
上の例では、これらの値を使っていませんが、形式上書いておく必要があります。
Java言語では引数の数や型が異なると、異なる関数と見なされるからです。

マウスのイベント処理の中で、 マウスの右ボタンや左ボタンの区別はどうするのでしょうか? 実は現在の Java言語には、マウスのボタンの区別をする機能は組み込まれて いません。 また、将来もそうした区別は実装されないと思われます。
これには理由があります。 インターネットにはさまざまな種類が接続していて、 マシンによってマウスのボタンの数が異なっています。 たとえば Windows が動く PC ではボタンの数は2個ですし、 Machintoshのようにボタンが1個しかないマシンもあります。 Java言語は、これらの全てのマシンに対応できることを目指しています。 したがって、マウスのボタンがたくさんあることを前提に Java言語の プログラムを書くべきではないのです。