JDK1.1 は JDK1.0.2 までの古いイベントモデルも完全にサポートします。
プログラムはどちらのスタイルで記述してもかまいません。
また、記述の混在も可能です。
| JDK1.0のスタイル | JDK1.1のスタイル |
|---|---|
| mouseEnter() | mouseEntered() |
| mouseExit() | mouseExited() |
| mouseDown() | mouseClicked() mousePressed() |
| mouseUp() | mouseReleased() |
| mouseMove() | mouseMoved() |
| mouseDrag() | mouseDragged() |
| keyDown() | keyTyped() keyPressed() |
| keyUp() | keyReleased() |
| gotFocus() | focusGained() |
| lostFocus() | focusLost() |
| action() |
actionPerformed() itemStateChanged() |
新しいイベントモデルでは、イベントの伝搬はウィンドウの親子関係とは無関係
で、プログラム内で明示的に行います。
このためイベント処理のメソッドは void 型です。
また、引数はイベントのクラスのオブジェクト1つのみです。
位置やキーの種類など必要な情報は、イベントオブジェクトから取り出します。
新しいイベントのクラスは、フィールド(変数)へのアクセスは全て専用の
メソッドを利用するようになりました。
public void mouseClicked( MouseEvent evt ) {
int x = evt.getX(); // イベント発生のX座標の取得
int y = evt.getY(); // イベント発生のY座標の取得
:
}
1.0 のイベントのイベントオブジェクトを
1.1 のイベントのオブジェクトへ変換することができます。
1.1 のイベントの各クラスは引数に Event クラスのオブジェクトを
与えるコンストラクタを持っています。