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を割り当てて、何かを出力したいのですが、実際には何も起こりません。

ここで何か間違ったことをしていますか?

ご意見をお聞かせください。

ありがとう

4

1 に答える 1

2

閉じる操作が次のように設定されていることを確認しDO_NOTHING_ON_CLOSEます。

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