1
    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(); 并为套接字分配一个空值,我想打印一些东西,但实际上什么也没发生。

我在这里做错了吗?

请指教。

谢谢

4

1 回答 1

2

确保关闭操作设置为DO_NOTHING_ON_CLOSE

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
于 2013-04-21T21:15:07.427 回答