Перехват исключений в приложении javax.swing

Я работаю с javax.swing , чтобы создать приложение, которое генерирует формы из XML-схемы (с использованием библиотеки JAXFront) и хранит данные, заполненные пользователем их в XML-документы.

Я помещал блоки try-catch-finally, когда мне это нужно, но у меня есть небольшая проблема с перехватом исключений, когда основной поток завершается (потоки AWT все еще работают).

У меня есть два классы, которые выполняют основную работу, и другие классы, которые не важны для вопроса:

  • Основной класс : Он имеет следующую структуру. Инициализирует приложение и запускает основной фрейм

     открытого класса Main {
      public static void main (String [] args) {
      readArgs ();  // INI-файл с конфигурацией приложения
      Модель model = initializeElements (args);  // Мой класс модели
      пытаться {
      MyFrame mfr = новый MyFrame (название, модель);
      mfr.visualize ();  // Сборка вида и установка видимых
      } catch (Excepion e) {
      doCleanUp ();
      System.exit (-1);
      }
      }
     } 
  • Класс кадра : генерирует события просмотра и прослушивания.

     открытый класс MyFrame расширяет JFrame, реализует ActionListener, MenuListener {
      // Некоторые атрибуты
      // Другие методы, не имеющие значения
      / **
      * Составьте элементы, добавьте слушателей и установите видимый фрейм
      * /
      public void visualize () {
      generateFormPanel ();
      setListeners ();
      валидировать ();
      setVisible (правда);
      }
    
      public MyFrame (String title, Modele model) {
      супер (название);
      createElementsUsing (модель);
      }
    
      public void actionPerformed (ActionEvent e) {
      // Код для управления событиями
      }
     } 

Что ж, проблема в следующем: Когда функция визуализации исключается из основного метода, создается и отображается представление. В этот момент я теряю контроль над перехватом исключений. Тогда мой вопрос: есть ли способ отловить возможные исключения RuntimeExceptions, сгенерированные после этой точки .

Надеюсь, вы понимаете мой английский и можете ответить на вопрос.

Заранее спасибо.

6
задан Charliemops 26 July 2011 в 09:02
поделиться