java学习笔记73--AWT事件模型概述

使用AWT或者Swing中的容器、组件和布局管理器就可以构建出图形界面,但是这时候该界面还并不能和用户进行交换,因为图形界面中的组件还没有添加事件监听器,所以还不能对用户在界面中的操作进行处理。

在Java事件模型中,必须存在事件对象、事件源、事件监听器三部分。事件对象是表示发生了什么事件,事件源表示是谁产生的这个事件对象,事件处理器接收到事件对象后,可以对这个事件进行处理。
    事件模型中的三要素:事件对象、事件源、事件监听器
    注:不光是GUI中,在java的其他地方也会使用到事件模型。

在Java中一个事件监听器就是指事件发生时被通知的对象。它有两个要求:首先,为了可以接收到特殊类型事件的通知,它必须在事件源中已经注册;其次,它必须实现接收和处理事件的方法。
    例如:
        //btn就是事件源
        JButton btn = new JButton("测试");
        //给事件源btn注册事件监听器
        //这里使用了匿名内部类对象作为监听器
        btn.addActionListener(new ActionListener() {
            //监听器中实现接收和处理事件的方法
            //ActionEvent类型的引用e指向的就是按钮上所产生的事件对象
            @Override
            public void actionPerformed(ActionEvent e) {
                System.out.println("hello");
            }
        });
        
        XxxxListener 监听器接口
        事件源.addXxxxListener(new XxxxListener(){
            //实现接口中的抽象方法
        });
    

在事件源上注册好监听器之后,只要是在该事件源上产生了特定的事件对象,事件监听器就会自动被触发,并执行相应的方法处理。
        例如:在上面的例子基础上
            当我们使用鼠标点击btn这个按钮之后,产生了一个鼠标点击的事件对象(引用e会指向这个事件对象),然后注册的事件监听器会自动触发(这里的匿名内部类对象就是注册的监听器),并调用指定方法actionPerformed,对产生的事件进行处理。
   

猜你喜欢

转载自blog.csdn.net/onepiece_loves/article/details/88757270
今日推荐