Завершить запущенные потоки при закрытии JFrame

Как вызвать дополнительные операции, когда пользователь закрывает окно JFrame? Я должен остановить существующие потоки.

Насколько я понимаю, setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);вызывает закрытие фрейма и остановку его потока. Следует ли закрывать потоки после JFrame.EXIT_ON_CLOSE?

Клиент:

static boolean TERMINATE = false;
public static void main(String[] args) {
// some threads created
 while(true) {

                if(TERMINATE){
                         // do before frame closed
                    break;
                         }
              }

}
    private static JPanel startGUI(){
            JFrame f = new JFrame();
            f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            JPanel gui = new JPanel();
             f.add( gui);
             f.setSize(500,500);
             f.setVisible(true);
             return gui;
        }

Мне нужно закрыть сокеты, с которыми работает поток. Как лучше всего это сделать?

7
задан mKorbel 3 June 2012 в 21:33
поделиться