Я работаю с javax.swing
, чтобы создать приложение, которое генерирует формы из XML-схемы (используя библиотеку JAXFront) и сохраняет заполненные пользователем данные в XML-документах.
Я поставил try-catch-finally блокирует, когда мне это нужно, но у меня есть небольшая проблема с перехватом исключений, когда основной поток заканчивается (потоки AWT все еще работают).
У меня есть два класса, которые выполняют основную работу, и другие классы,не важны для вопроса:
Основной класс : имеет следующую структуру.Инициализирует приложение и запускает основной кадр
public class Main {
public static void main(String[] args) {
readArgs(); // An INI file with the app config
Model model = initializeElements(args); // My model class
try {
MyFrame mfr = new MyFrame(title,model);
mfr.visualize(); // Assembling view and setting visible
} catch( Excepion e ) {
doCleanUp();
System.exit(-1);
}
}
}
Класс кадра : генерирует события просмотра и прослушивания
public class MyFrame extends JFrame implements ActionListener,MenuListener {
// Some attributes
// Other mthods without importance
/**
* Compose the elements, add listeners and set visible the frame
*/
public void visualize() {
generateFormPanel();
setListeners();
validate();
setVisible(true);
}
public MyFrame(String title, Modele model) {
super(title);
createElementsUsing(model);
}
public void actionPerformed(ActionEvent e) {
// Code to manage events
}
}
Проблема в следующем: когда функция визуализации извлекается из основного метода, создается и отображается представление.В тот момент, когда я теряю контроль над ловлей исключений.Тогда у меня вопрос, если есть какой-то способ отловить возможные исключения RuntimeException, выданные после этой точки .
Я надеюсь, что вы понимаете мой английский и можете ответить на вопрос.заранее.