frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent b) {
// Do stuff
if (socket != null) {
socket.close();
socket = null;
} catch (IOException e) {
socket = null;
}
System.out.println("About to abort!");
}
dispose();
}
});
从上面的代码我想要实现的是,当他们点击红色X按钮时,它将检查TCP套接字是否仍然连接,如果它仍然连接则close();并为套接字分配一个null,我想打印一些东西,但根本没有真正发生。
我在这里做错了吗?
请建议。
由于
答案 0 :(得分:2)
确保关闭操作设置为DO_NOTHING_ON_CLOSE
:
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);