У меня есть класс FilePathDialog, который расширяет JDialog, и этот класс вызывается из некоторого класса X. Вот метод класса X
projectDialog = new FilePathDialog();
projectDialog.setVisible(true);
projectDialog.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.out.println("Window closing");
try {
doWork();
} catch (Throwable t) {
t.printStackTrace();
}
}
public void windowClosed(WindowEvent e) {
System.out.println("Window closed");
try {
doWork();
} catch (Throwable t) {
t.printStackTrace();
}
}
});
doWork никогда не вызывается при закрытии окна JDialog. Все, что я пытаюсь сделать, это дождаться закрытия JDialog, прежде чем он перейдет в метод. Я также пробовал использовать SwingWorker и Runnable, но это не помогло.