当前位置: 代码迷 >> 综合 >> JavaSwing | EventAdapter 事件适配器
  详细解决方案

JavaSwing | EventAdapter 事件适配器

热度:87   发布时间:2024-01-24 19:40:08.0

目录

在这里插入图片描述

一、背景

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

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

二、引入事件适配器

事件适配器:实现某一特定接口的所有方法,只不过方法全都重写为空。定义适配器是为了简化事件处理的代码量。这时只需要继承一个事件类,覆盖其中需要的事件代码就行了。

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

//给窗口增加关闭功能 
WindowListener w = new WindowAdapter() {public void windowClosing(WindowEvent e) {if (user agrees )System.exit(0);}
}; 
frame.addWindowListener(w);	

代码还能进一步简化:

myframe.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


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