Bra*_*roy 4 java swing windowlistener
我正在尝试为JFrame关闭操作添加一个监听器:
addWindowListener(new WindowListener() {
@Override
public void windowClosing(WindowEvent e) {
setVisible(false);
}
});
Run Code Online (Sandbox Code Playgroud)
问题是Eclipse一直告诉我必须"添加未实现的方法",我认为它来自于WindowListener.但是,我很困惑,为什么你需要实现所有这些其他方法,如果你只需要覆盖一个?如果我确实添加了所有其他方法,但不要在其中添加任何内容,例如
@Override
public void windowActivated(WindowEvent e) {}
Run Code Online (Sandbox Code Playgroud)
这个方法的默认行为会丢失吗?或者,如果我在方法中写一些内容,它是否只会被覆盖?
如果实现接口,则必须实现所有方法.这也适用于匿名类.
使用WindowAdapter而不是实现WindowListener
addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
setVisible(false);
}
});
Run Code Online (Sandbox Code Playgroud)
WindowAdapter是一个WindowListener用空方法实现的类,只允许覆盖您需要的方法.
PS:还有其他适合其他活动的适配器.例如MouseAdapter,KeyAdapter
| 归档时间: |
|
| 查看次数: |
1984 次 |
| 最近记录: |