Я только что написал этот тестовый код в своем классе CustomUIPanel:
public static void main(String[] args) {
final JDialog dialog = CustomUIPanel.createDialog(null,
CustomUIPanel.selectFile());
dialog.addWindowListener(new WindowAdapter() {
@Override public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
Это работает правильно, если CustomUIPanel.main()
является точкой входа в программу, но заставляет меня задуматься: что, если другой класс с именем CustomUIPanel.main()
для тестирования? Тогда мой звонок на System.exit(0)
неверен.
Есть ли способ заставить поток отправки событий Swing автоматически завершиться, если нет окон верхнего уровня?
Если нет, то что правильно делать JDialog / JFrame при закрытии, если целью является выход из программы при закрытии всех окон верхнего уровня?