まとめ イベントの処理は、以下の手順で行います。
| 方法1 |
イベントを検出するリスナをimplements(複数のリスナをimplementsする場合には、「,」で区切って書く) |
| リスナのメソッドをオーバーライド(イベントが発生した時の処理) |
| イベントを有効に(add○○Listener(this) ○○にはリスナ名が入る) |
| 方法2 |
イベントを検出するアダプタを継承したクラスを作る |
| 此のクラスの中でメソッドをオーバーライド(イベントが発生した時の処理) |
| イベントを有効に(add○○Listener(継承クラスのオブジェクト名) ○○にはリスナ名が入る) | マウスリスナ一覧表
| イベント |
メソッド |
リスナインターフェース |
アダプタクラス(注) |
| マウスが押された |
mousePressed |
MouseListener |
MouseAdapter |
| マウスが離された |
mouseReleased |
| マウスがクリックされた |
mouseClicked |
| マウスが画面に入った |
mouseEntered |
| マウスが画面から出た |
mouseExited |
| マウスがドラッグされた |
mouseDragged |
MouseMotionListener |
MouseMotionAdapter |
| マウスが動いた |
mouseMoved |
マウスのイベントに関する状況の設定
| ダブルクリックの判定 |
if(e.getClickCount() == 2)が「true」 |
| 右クリックの判定 |
if((e.getModifiers() & InputEvent.BUTTON3_MASK)
== InputEvent.BUTTON3_MASK)が「true」 |
| クリック位置の取得 |
e.getX() (x座標) |
| e.getY() (y座標) | 「e.getModifiers()」で、イベント発生時の状態を取得出来ます。
ビット毎に下の表の様に割り当てられています。
| ビット |
定数名 |
意味 |
| 0 |
SHIFT_MASK |
Shiftキーが押されている |
| 1 |
CTRL_MASK |
Ctrlキーが押されている |
| 2 |
BUTTON3_MASK |
マウスの右ボタンが押された |
| 3 |
BUTTON2_MASK |
マウスの中央ボタンが押された |
| 4 |
BUTTON1_MASK |
マウスの左ボタンが押された | イベントを跨いで処理が行われる場合には、異なるメソッド間で値を共有出来る様にグローバル変数に情報を保持します。 イベント処理メソッドの中で、描画処理を行う場合は下の表の様になります。
| Graphicsクラスのオブジェクトの取得 |
g = getGraphics(); |
| Graphicsクラスのオブジェクトの解放 |
g.dispose(); |
画面を置き換える場合には、再描画要求「repaint()」を行います。
其の結果、paintメソッドが呼び出され再描画されます。
更に画面が全てクリアされ、書き直されます。 破線を書くには、線の形状をBasicStrokeクラスのオブジェクトに作成し、setStrokeメソッドを使って設定します。 戻る |