侦听器和适配器之间有什么区别?

侦听器和适配器之间有什么区别?,第1张

侦听器适配器之间有什么区别?

WindowListener是

interface
强制您使用
override
所有方法的方法,而WindowAdapter是实施方法的,
WindowListener
您只需要
override
处理您要处理的方法即可。

WindowListener
是接口,意味着你不能实例化的
WindowListener
,同时
WindowAdapter
是具体的类,您可以使用
new
*** 作符来实例化。

使用时

WindowAdapter
,代码仅在您的类仅覆盖所需的方法的地方更干净。例如:

WindowListener
public class CloseListener implements WindowListener {    // im not interest  on this event, but still need to override it    @Override    public void windowOpened(WindowEvent e) {    }    // im not interest  on this event, but still need to override it        @Override    public void windowClosing(WindowEvent e) {    }    @Override    public void windowClosed(WindowEvent e) {        System.exit(0);    }    // im not interest  on this event, but still need to override it        @Override    public void windowIconified(WindowEvent e) {    }    // im not interest  on this event, but still need to override it    @Override    public void windowDeiconified(WindowEvent e) {    }}
窗口适配器

使用适配器时,代码更干净:

// at Jframe classaddWindowListener(new CloseListener());// reusable Close Listenerpublic class CloseListener extends WindowAdapter {    @Override    public void windowClosed(WindowEvent e) {        System.exit(0);    }}

要么

addWindowListener(new WindowAdapter() {    @Override    public void windowClosed(WindowEvent e) {         System.exit(0);     }});

所以我建议使用

WindowAdapter
,但不必 遵循
。但是,两个API几乎相同,只是为了
WindowAdapter
方便创建侦听器对象而存在。

编辑:

由于

WindowListener
interface
,因此您可以在Jframe子类中实现它。

public class MainWindow extends Jframe implements WindowListener {    // this is ok}public class MainWindow extends Jframe, WindowAdapter {    // this is not allow}

但是你不能用

WindowAdapter



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5105901.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存