オブジェクトが認識して応答できる動作は「イベント」です。オブジェクトが認識して応答できる動作はイベントと呼ばれます。イベントとは、オブジェクトが認識および検出できるアクションです。このアクションがオブジェクトで発生すると、対応するイベントがトリガーされます。
#Java イベントの概要
イベント処理モデルGUI アプリケーションの場合、イベント処理は不可欠であるため、イベント処理モデルを十分に習得する必要があります。イベントについては、イベント ソース オブジェクトとリスナー オブジェクトという 2 つの用語を理解する必要があります。文字通りの意味から大まかなアイデアは得られるので、以下のシステムを説明しましょう:
#イベント ソースがイベントをトリガーすると、システムはイベントの関連情報を対応するタイプのイベント オブジェクトにカプセル化し、それをイベントソースに登録されたイベントソース 対応するリスナー。以下に示すように:
#イベント オブジェクトがリスナーに送信されると、システムはリスナーの対応するイベント処理メソッドを呼び出してイベントを処理します。応答する。以下に示すように:
#注: リスナーとイベント ソースの間には「多対多」の関係があります。
イベント オブジェクトの階層
イベント オブジェクトの最上位レベルは java.util.EventObject で、すべてのイベント ステータス オブジェクトの派生元となるルート クラスです。 Object クラスから継承されたクラスに加えて、このクラスには getSource() メソッドもあります。このメソッドの機能は、イベントが最初に発生したオブジェクトを返すことです。
このクラスが util パッケージ内にあることを除き、他のクラスは java.awt、java.awt.event パッケージまたは java.swing、java.swing.event パッケージ内にあります。 Swing コントロールを意味します。Swing イベントのみを使用します。 AWTEvent クラスは、イベントの性質の識別子を返す getID() メソッドを提供します。たとえば、マウス イベントが発生した場合、それがクリック、ドラッグ、プレス、またはその他の操作であったかどうかを確認できます。 一般的に使用されるいくつかのイベント クラスの説明: EventObject: すべてのイベント クラスのスーパー クラス。最も重要なメソッド getSource() は、イベント##ContainerEvent: コンポーネントがコンテナに追加またはコンテナから削除されるときに発生します
##KeyEvent: キーボード操作時に発生
##PaintEvent: 描画時にイベント発生コンポーネント
TextEvent: テキストが変更されたときに発生します
WindowEvent: 最大化または最小化など、ウィンドウが操作されたときにイベントが発生しますウィンドウ。
リスナー オブジェクトは、特定のリスナー インターフェイスを実装するクラスのインスタンスであり、その後、リスナー インターフェイスが実装されます。私たちが心配していること。リスナー インターフェイスの最上位インターフェイスは java.util.EventListener であり、このインターフェイスはすべてのイベント リスナー インターフェイスが拡張する必要があるマーク インターフェイスです。驚くべきことに、このインターフェイスは完全に空であり、抽象メソッドの定義はありません。ソース コードを確認すると、空です。
イベント リスナー クラス (リスナー オブジェクトが属するクラス) は、イベント リスナー インターフェイスを実装するか、イベント リスナー アダプター クラスを継承する必要があります。
イベント リスナー インターフェイスは、イベントを処理するために実装する必要があるメソッドを定義します。
イベント リスナー アダプター クラスは、イベント リスナー インターフェイスの単純な実装です。目的はプログラミングの負担を軽減することです。
イベント リスナー インターフェイスの命名方法は XXListener です。Java では、これらのインターフェイスはすでに定義されています。実装するには、イベント ハンドラー (つまり、イベント処理メソッドのプロトタイプ。このメソッドは再実装する必要があります) を定義します。
例: ActionListener インターフェイス、MouseListener インターフェイス、WindowListener インターフェイス、KeyListener インターフェイス、ItemListener インターフェイス、MouseMotionListener インターフェイス、FocusListener インターフェイス、ComponentListener インターフェイスなど。
イベント ソース
イベントは最初にイベント ソースによって生成されます。イベント ソースは、GUI コンポーネント Java Bean またはイベントを生成できるオブジェクトにすることができます。GUI コンポーネントの場合、イベント ソースまたはコンポーネントのピア ( Abstract Window Toolkit [awt] GUI コンポーネントの場合)、またはコンポーネント自体 (Swing コンポーネントの場合)。
Javaでは、各コンポーネントがどのようなイベントを生成するかが定義されています。言い換えれば、どのようなイベントでも、どのコンポーネントがそれを生成できるかはすでに決定されています。
イベント
AWT は、イベントを低レベル イベントとセマンティック イベントに分割します。
セマンティック イベントは、ユーザーのアクションを表すイベントです。
低レベル イベントは、それらのイベントを形成するイベントです。
java.awt.event パッケージ内の共通のセマンティック イベント クラス:
ActionEvent (ボタンのクリック、メニュー選択、選択リスト項目に対応)またはテキスト ボックスに Enter キーを押します)
AdjustmentEvent (ユーザーがスクロール バーを調整します)
ItemEvent (ユーザーがチェックから項目を選択します)ボックスまたはリスト ボックス 項目)
一般的に使用される 5 つの低レベル イベント クラス:
KeyEvent (キーが押されるか離される)
MouseEvent (マウス ボタンが押される、離される、移動またはドラッグされる)
MouseWheelEvent (マウス ホイールが回転する)
FocusEvent (コンポーネントがフォーカスを取得または失う)
WindowEvent (ウィンドウの状態が変更される)
java.awt.eventパッケージ で定義されている一般的に使用されるイベント アダプター クラスには、次のものがあります。
1. ComponentAdapter(コンポーネントアダプター)
# 2. ContainerAdapter(コンテナアダプター) 3. FocusAdapter(フォーカスアダプター) 4. KeyAdapter(キーボードアダプター) 5. MouseAdapter(マウスアダプター) 6. MouseMotionAdapter(マウスモーションアダプター) 7. WindowAdapter(ウィンドウアダプター)イベントソースとリスナーの対応関係
実際のJava開発における対応関係図は次の図です: 共通イベント オブジェクトとリスナー インターフェイスの比較表: #共通イベント ソースとリスナー インターフェイスの比較表JTextField | Timer
AdjustmentListener |
ItemListener | |
FocusListener |
|
##KeyListener | Component |
MouseListener | コンポーネント |
MouseMotionListener | コンポーネント |
MouseWheelListener | コンポーネント |
WindowListener | Window |
WindowFocusListener | Window |
WindowStateListener | ウィンドウ |
以上がオブジェクトはどのような動作を認識し、応答できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。