2013-08-12 6 views
1

Как установить другую операцию закрытия для моего JFrame помимо myFrame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE)? Пример: У меня есть метод start() и stop(), и я хочу, чтобы stop() вызывается до выхода JFrame (stop() сохраняет мои файлы и присоединяет Thread).JFrame close operation

ответ

3

Добавить WindowListener в ваш JFrame и осуществить windowClosing() событие:

// Use WindowAdapter if you don't want to implement the rest of the methods 
// otherwise use new WindowListener() 
window.addWindowListener(new WindowAdapter() { 
    @Override 
    public void windowClosing(WindowEvent e) { 
     stop(); 
    }});    
1

Переопределить метод dispose.

@Override 
public void dispose() { 
    this.stop(); 
    super.dispose(); 
} 
+0

где было бы отчуждать Митос, в классе, который простирается JFrame? –

+0

Yeppers, http://docs.oracle.com/javase/6/docs/api/javax/swing/JFrame.html расширяет окно ... Поэтому вы можете переопределить его в своем классе, который расширяет jframe – Grammin