在Java框架中关闭窗口框架时不执行任何操作

时间:2013-04-21 21:12:55

标签: java swing jframe awt action

    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,我想打印一些东西,但根本没有真正发生。

我在这里做错了吗?

请建议。

由于

1 个答案:

答案 0 :(得分:2)

确保关闭操作设置为DO_NOTHING_ON_CLOSE

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);