Java Swing закрывает ТОЛЬКО одно приложение - PullRequest
3 голосов
/ 21 декабря 2010

Привет всем: у меня есть приложение Java Swing.Есть кнопка, позволяющая пользователю открыть новое окно приложения.Я использую System.Exit (0), когда пользователь решает закрыть приложение, однако, когда я нажимаю кнопку «Закрыть», оба окна приложения закрываются.

public static void main(String[] args)  
{       
 ghMain = new GreenHouseMain();     
}

Выше показано, как я инициализирую первое приложение, затем используютот же код для создания нового объекта GreenHouseMain для открытия второго окна приложения.

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

Спасибо всем

Ответы [ 3 ]

3 голосов
/ 21 декабря 2010

вызов dispose () вместо System.exit () для объекта Window, который вы хотите закрыть.Если видимых окон больше нет, поток обработки событий завершается.

1 голос
/ 21 декабря 2010

прочитайте javadocs для setDefaultCloseOperation. System.exit() делает именно то, что должно, поэтому избавьтесь от него.

1 голос
/ 21 декабря 2010

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

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