ホームページ > Java > &#&チュートリアル > Java AWTで実装されるイベント処理プロセスとは何ですか?

Java AWTで実装されるイベント処理プロセスとは何ですか?

王林
リリース: 2023-05-04 17:52:16
転載
1598 人が閲覧しました

    AWT イベント処理

    イベント処理は主にユーザー操作に応答するための処理です

    • イベント オブジェクト ( Event ) : GUI コンポーネントで発生する特定のイベント (通常はユーザーによる操作) をカプセル化します。

    • イベント ソース (コンポーネント): イベントが発生する場所、通常はイベントを生成するコンポーネント

    • Listener (リスナー): 責任者イベントをリッスンするためのソース上で発生するイベント、およびそれに応じてさまざまなイベントを処理するオブジェクト (オブジェクトにはイベント ハンドラーが含まれます)。

    • イベント ハンドラー: リスナー オブジェクトは、受信したイベント オブジェクトを適切に処理します。

    AWT のイベント継承図

    Java AWT实现事件处理流程是什么

    WindowListener インターフェースを実装したイベント リスナー クラス MyWindowListener がプログラム内で作成されます。 addWindowListener() メソッドを通じてウィンドウをリスナー オブジェクトに追加し、閉じるボタンをクリックすると、リスナー オブジェクトの windowClosing() メソッドがトリガーされ、現在のウィンドウが非表示になったり解放されたりして、ウィンドウが閉じられます。

    コードは次のとおりです

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    41

    42

    package AWT;

    import java.awt.*;

    import java.awt.event.WindowEvent;

    import java.awt.event.WindowListener;

    public class Example08 {

        public static void main(String[] args) {

            Frame f=new Frame("我的世界");

            f.setSize(400,300);

            f.setLocation(300,200);

            f.setVisible(true);

            //给窗口注册一个监听器

            MyWindowListener mw=new MyWindowListener();

            f.addWindowListener(mw);

        }

    }

    class MyWindowListener implements WindowListener{

        @Override

        public void windowOpened(WindowEvent e) {

        }

        @Override

        public void windowClosing(WindowEvent e) {

            Window window= e.getWindow();

            window.setVisible(false);

            window.dispose();

        }

        @Override

        public void windowClosed(WindowEvent e) {

        }

        @Override

        public void windowIconified(WindowEvent e) {

        }

        @Override

        public void windowDeiconified(WindowEvent e) {

     

        }

        @Override

        public void windowActivated(WindowEvent e) {

        }

        @Override

        public void windowDeactivated(WindowEvent e) {

        }

    }

    ログイン後にコピー

    Result

    Java AWT实现事件处理流程是什么

    イベントアダプタ

    空の問題を解決するには生成されたメソッド jdk の実装 リスナーインターフェースのデフォルト実装クラスであるいくつかのアダプタークラスが提供されています これらの実装クラスはインターフェース内のすべてのメソッドを実装しますが、メソッド内にコードはありません プログラムは目的を達成できますアダプタークラスを継承してリスナーインターフェースを実装する方法。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    package AWT;

    import java.awt.*;

    import java.awt.Frame;

    import java.awt.event.WindowAdapter;

    import java.awt.event.WindowEvent;

    import java.awt.event.WindowListener;

    public class Example08 {

        public static void main(String[] args) {

            Frame f=new Frame("我的世界");

            f.setSize(400,300);

            f.setLocation(300,200);

            f.setVisible(true);

           //给窗口注册一个监听器

            MyWindowListener mw=new MyWindowListener();

            f.addWindowListener(mw);

        }

    }

             //继承WindowAdapter类,重写windowClosing()方法

    class MyWindowListener1 extends WindowAdapter {

     

        @Override

        public void windowClosing(WindowEvent e) {

            Window window=(Window) e.getComponent();

            window.dispose();

        }

    }

    ログイン後にコピー

    MyWindowListener クラスはアダプター クラス WindowAdapter を継承しており、ウィンドウを閉じるための関数であるため、windowClosing() メソッドを書き換えるだけで済みます。ほとんどすべてのリスナー インターフェイスには対応するアダプター クラスがあります。アダプタ クラスがリスナー インターフェイスを実装し、それらのイベントを処理する必要がある場合、イベントに対応するメソッドを直接オーバーライドします。

    匿名内部クラスを使用してイベント処理を実装する

    上記のイベント アダプターは、アダプター クラスを継承することによってイベント ソース オブジェクトの監視を実装しますが、コードを簡素化するために、匿名内部クラスを使用することもできます。イベントを作成するクラス リスナー オブジェクトは、発生するイベントを処理します。

    クリック イベントを持つボタンをウィンドウに追加する

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    package AWT;

    import java.awt.*;

    import java.awt.event.MouseAdapter;

    import java.awt.event.MouseEvent;

    public class NiMing {

        public static void main(String[] args) {

            Frame f=new Frame("我的世界");

            f.setSize(400,300);

            f.setLocation(300,200);

            f.setVisible(true);

            Button btn=new Button("Exit");

            f.add(btn);

            btn.addMouseListener(new MouseAdapter() {

                @Override

                public void mouseClicked(MouseEvent e) {

                    System.exit(0);

                }

            });

        }

    }

    ログイン後にコピー

    まず、btn の addMouseListner() メソッドが呼び出されます。このメソッドでは、匿名の内部クラス メソッドです。ボタンのクリック イベントを監視する必要があるだけなので、MouseAdapter アダプター クラスを使用し、mouseClicked() メソッドを書き換えます。ボタンがクリックされると、クリック イベントはイベント リスナーに渡されます。オブジェクトを使用してプログラムを終了します。

    以上がJava AWTで実装されるイベント処理プロセスとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    関連ラベル:
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート