appendix> event> MouseMotionListener TOPUPPREVNEXT

java.awt.event.MouseMotionListener

【主な機能】

マウスのイベントのうち以下のものを受け取るためのインターフェースです。 マウスボタンがクリックされた時や、マウスカーソルがコンポーネントの領域に出入りした時点で イベントを受け取りたい場合は、 マウス・リスナ ( MouseListener ) を使用します。

【必要なメソッド】

MouseMotionListener インターフェースを実装するクラスで 定義しなければならないメソッドは次の2つです。
メソッド機能
mouseDragged ( MouseEvent e ) マウス・ボタンが押されたままで マウスカーソルがコンポーネント上を移動した時の処理を記述する。
mouseMoved ( MouseEvent e ) マウス・ボタンが離されたままで マウスカーソルがコンポーネント上を移動した時の処理を記述する。

【MouseEvent のおもなメソッド】

アクションリスナから渡される MouseEvent クラスのメソッドを用いて、 マウスの状態をしらべることができます。
メソッド機能
Point getPoint ( ) マウスカーソルの位置。 アクションリスナをぶらさげたコンポーネント内の相対座標。
int getX ( ) 同上の x座標。
int getY ( ) 同上の y座標
親クラス InputEvent から継承したメソッドで、 おされているキーを調べることができます。
メソッドキー
isAltDown( ) ALT キー
isShiftDown( ) シフトキー
isControlDown( ) CTRL キー

【MouseEvent の継承関係】


     java.lang.Object
       └ java.util.EventObject
             └ java.awt.AWTEvent
                   └ java.awt.event.ComponentEvent
                         └ java.awt.event.InputEvent
                               └ java.awt.event.MouseEvent
   

【MouseMotionAdapter クラス】

MouseMotionListener では上記2つのメソッドを実装する必要がありますが、 空のメソッドを実装してある MouseMotionAdapter クラスを継承すると、 必要なメソッドだけをオーバライドするだけですませることができます。

例1参照。

【例1】

マウスカーソルを追いかける炎

プログラム Flame1.java

炎の絵 flame.gifを カレント・ディレクトリにコピーしてから実行してください。

【例2】

MouseEvent で渡される情報をのぞいて見ましょう。

次のプログラムを実行し、マウス・カーソルをウィンドウ内にいれ、ドラッグをした例です。

プログラム MouseMotionDemo9.java

MouseMotionDemo9-1.gif

更新日:2004-05-28