JavaSwing | EventAdapter 事件适配器

目录

在这里插入图片描述

一、背景

在事件处理模型中,实现一个监听器需要重写对应的监听器接口的所有方法,而有的监听器接口定义了很多方法。而如果你只需要其中一个的话,就会有累赘了。

比如说WindowListener接口有7个方法,而你可能仅仅只需要一个,那么代码会是这样:
在这里插入图片描述

二、引入事件适配器

事件适配器
为接口 里的每一个方法都提供了默认的空实现。定义适配器是为了简化事件处理的代码量。使用它你需要做的就是,创建一个继承事件适配器的事件监听器类,然后重写那些需要修改的方法就行了。

以上面的WindowListener接口为例,若引入事件适配器WindowAdapter

//继承了事件适配器的监听器类
class Terminator extends WindowAdapter {
    //仅重写需要的方法
    public void windowClosing(WindowEvent e) {
        if (user agrees )  //给窗口增加关闭功能 
            System.exit(0);
    }
}
Terminator w = new Terminator(); //实例化一个事件监听器对象
frame.addWindowListener(w);	

代码还能进一步简化:

frame.addWindowListener(
        new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                if (user agrees)
                    System.exit(0);
    }
});

三、JDK中部分适配器

事件适配器均在java.awt.event中,常用的适配器如下:

Event-adapter class Implements interface
ComponentAdapter ComponentListener
ContainerAdapter ContainerListener
FocusAdapter FocusListener
KeyAdapter KeyListener
MouseAdapter MouseListener
MouseMotionAdapter MouseMotionListener
WindowAdapter WindowListene


end


欢迎关注个人公众号“鸡翅编程”,平常会把笔记汇总成推送更新~
在这里插入图片描述

发布了12 篇原创文章 · 获赞 5 · 访问量 215

猜你喜欢

转载自blog.csdn.net/weixin_43787043/article/details/103876183
今日推荐