当前位置:  开发笔记 > 编程语言 > 正文

你必须添加未实现的方法吗?

如何解决《你必须添加未实现的方法吗?》经验,为你挑选了1个好方法。

我正在尝试为JFrame关闭操作添加一个监听器:

addWindowListener(new WindowListener() {
    @Override
    public void windowClosing(WindowEvent e) {
        setVisible(false);
    }
});

问题是Eclipse一直告诉我必须"添加未实现的方法",我认为它来自于WindowListener.但是,我很困惑,为什么你需要实现所有这些其他方法,如果你只需要覆盖一个?如果我确实添加了所有其他方法,但不要在其中添加任何内容,例如

@Override
public void windowActivated(WindowEvent e) {}

这个方法的默认行为会丢失吗?或者,如果我在方法中写一些内容,它是否只会被覆盖?



1> René Link..:

如果实现接口,则必须实现所有方法.这也适用于匿名类.

使用WindowAdapter而不是实现WindowListener

addWindowListener(new WindowAdapter() {
    @Override
    public void windowClosing(WindowEvent e) {
        setVisible(false);
    }
});

WindowAdapter是一个WindowListener用空方法实现的类,只允许覆盖您需要的方法.

PS:还有其他适合其他活动的适配器.例如MouseAdapter,KeyAdapter

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有