У меня есть приложение, которое запускает другие приложения, что-то вроде дока. Проблема в том, что если приложение, которое я запускаю (JFrame
), имеет EXIT_ON_CLOSE
, оно также закроет мое основное приложение.
Я не имею никакого контроля над приложениями, которые я запускаю. То есть я не могу ожидать, что приложение будет иметь хорошее поведение и использовать DISPOSE_ON_CLOSE
.
Что я могу сделать, чтобы избежать этого? Я уже пытался использовать темы, но не повезло. Я также пытался поместить основной поток приложения в демон, но тоже не повезло.
Я пытался поставить пользовательский SecurityManager
, перезаписывающий checkExit
метод. Проблема в том, что теперь даже основное приложение не может выйти. Кроме того, он не «работает», потому что приложения, использующие EXIT_ON_CLOSE
в качестве закрывающей операции по умолчанию, будут генерировать исключение и не будут выполняться (поскольку Swing проверяет диспетчер безопасности на выход - System.checkExit ()), не в состоянии запускаться :. (