Замена работающей программы новым экземпляром самого себя - PullRequest
2 голосов
/ 07 октября 2011

Я пытаюсь настроить метод сброса в программе, которая по существу создает замену, а затем закрывается, оставляя замену работающей. Я знаю, что обычно для этого я мог бы использовать какой-то внешний класс драйвера и не иметь проблем, но я вижу, возможно ли создать полностью независимый экземпляр класса с самим собой.

Если я создаю новый экземпляр, а затем выхожу из существующего, новый созданный экземпляр также завершается. Я полагаю, что это возможно, но я не могу найти никакого способа сделать это в данный момент.

Конкретной программой, над которой я работаю, является Swing GUI, и я установил для операции закрытия по умолчанию значение EXIT_ON_CLOSE.

Причина, по которой я хочу это сделать, состоит в том, что было бы проще просто заменить текущее окно новым, чем было бы пройти весь путь и сбросить все обратно к значениям по умолчанию.

Также на чисто теоретической ноте я хотел бы узнать, возможно ли это.

1 Ответ

2 голосов
/ 07 октября 2011

Быстрое решение: не используйте EXIT_ON_CLOSE в качестве опции закрытия окна по умолчанию. Проверьте API и выберите лучший, например JFrame.DISPOSE_ON_CLOSE.

Вы заявляете:

Причина, по которой я хотел бы сделать это, состоит в том, что было бы проще просто заменить текущее окно новым, чем было бы пройти весь путь и сбросить все обратно до значения по умолчанию.

Что приводит к более длительной потенциальной дискуссии: вы, вероятно, не хотите делать это, чтобы выйти из одного окна и открыть другое. Помимо того, что надоедает, вероятно, есть гораздо лучшие способы для достижения этой цели. Во-первых, ваш графический интерфейс должен основываться на модели, а сброс модели должен быть достаточно простым, если он хорошо написан. Если нет, то подумайте о рефакторинге, чтобы это было легко. Мы можем помочь вам в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...