基本上它是一个带有 GUI 的客户端程序,所以我想在用户关闭客户端程序时关闭套接字。是否有 Listener 或其他东西可以让我这样做?
问问题
177 次
3 回答
2
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// do stuff
}
});
请注意,只有在通过 (x) 按钮关闭框架之前将默认关闭操作设置为时,才会调用此方法。默认值是技术上不关闭窗口,因此不会通知侦听器。EXIT_ON_CLOSE
HIDE_ON_CLOSE
于 2013-05-05T19:52:45.617 回答
2
WindowListener
为结束事件添加一个:
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
// Do stuff
}
});
如需更多帮助,请查看's上的本教程。WindowListener
于 2013-05-05T19:55:39.810 回答
1
To refer to this
from an enclosing scope, use this:
class MyFrame extends JFrame {
public MyFrame() {
this.addWindowListener(
// omitting AIC boilerplate
// Use the name of the enclosing class
MyFrame.this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ...
}
}
}
Or store it in a variable with a different name:
class MyFrame extends JFrame {
public MyFrame() {
final JFrame thisFrame = this;
this.addWindowListener(
// omitting AIC boilerplate
// Use the name of the enclosing class
thisFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ...
}
}
}
于 2013-05-05T20:16:12.017 回答