我正在使用套接字在聊天客户端上工作,我希望在用户点击“X”(如正确关闭连接)时窗口关闭之前执行某些代码。
我可以在不必实现WindowListener
中的所有抽象方法吗?
/ AVIN
答案 0 :(得分:3)
延伸 WindowAdapter
,而不是实施 WindowListener
。
你会在所有Swing听众身上找到这个概念。 (MouseListener/MouseAdapter
,KeyListener/KeyAdapter
,...)有一个Listener
接口和一个Adapter
类,它使用空方法实现此接口。
因此,如果您只想对特定事件做出反应,请使用适配器并覆盖所需的方法。
示例:强>
setWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
//Cleanup code
}
});
答案 1 :(得分:1)
这是你需要的
private class Closer extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
int exit = JOptionPane.showConfirmDialog(this, "Are you
sure?");
if (exit == JOptionPane.YES_OPTION) {
System.exit(0);}
}
}
答案 2 :(得分:0)
如何在ExitListener
中添加FrameView
的示例:
YourApp.getApplication().addExitListener(new ExitListener() {
@Override
public boolean canExit(EventObject arg0) {
doStuff();
// the return value is used by the application to actually exit or
// not. Returning false would prevent the application from exiting.
return true;
}
}