2013-04-21 69 views
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();并为套接字分配一个null,并且我想打印一些东西,但是根本没有发生任何事情。无动作执行时的窗口框架在Java中

我在这里做错了什么?

请指教。

由于

+0

所以框架布置但打印无关,是吗?如果是这样,那意味着套接字为空。没有办法告诉你为什么没有看到更多的代码。 – 2013-04-21 21:15:28

+0

@JBNizet是的,但即使没有这个if语句,也没有真正的打印? – Ali 2013-04-21 21:17:51

+0

@JBNizet不要介意我认为这是我的错误,印刷声明在if语句中!对不起:S – Ali 2013-04-21 21:19:17

回答

2

确保关闭操作被设置为DO_NOTHING_ON_CLOSE

frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);