У меня есть Java-программа, которая использует отражение, чтобы найти и вызвать метод main (String [] args) другой Java-программы. Эта другая программа обычно представляет собой приложение Swing, которое порождает свои собственные потоки. Мне было интересно, есть ли способ определить, когда эта другая «программа» заканчивается. Я не уверен, есть ли способ обнаружить это, поскольку он выполняется в том же пространстве, что и основная программа. Текущий метод состоит в том, чтобы просто проверить, не являются ли какие-либо из открытых кадров нашими собственными, и это не самое лучшее решение. Запуск дочерней программы в ее процессе также не является возможным вариантом, так как мы получаем к ней доступ.
РЕДАКТИРОВАТЬ: Похоже, ответ является двойной подход. Сначала создайте ThreadGroup и запустите дочернюю программу в потоке, который является членом этой группы. Затем обязательно проверьте Frame.getFrames (), принадлежит ли какой-либо из кадров дочернему элементу.
Спасибо,
--Sandro