Я только что написал этот тестовый код в своем классе 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 подходит для закрытия, если целью является выход программы, когда все окна верхнего уровня закрыты?