myJFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
Утилизация почти всегда предпочтительна. Если вы явно скажете EXIT_ON_CLOSE и вам когда-нибудь захочется отобразить более одного окна, вам нужно будет изменить свой код, чтобы вместо него использовать DISPOSE_ON_CLOSE. Конечно, не такая уж большая сделка, просто кажется лучшим выбором.
По моему мнению, DISPOSE_ON_CLOSE должен был быть по умолчанию, а не HIDE_ON_CLOSE. Ну что ж, это то, что у нас есть. EXIT_ON_CLOSE, вероятно, следует избегать по той же причине, по которой следует избегать вызова System.exit (0) в обработчике окон (хотя сам по себе в этом нет ничего плохого, он просто не очень гибкий в будущем).
Более того, почти всегда предпочтительнее присоединить WindowListener к вашему фрейму и установить значение по умолчанию близко к JFrame.DO_NOTHING_ON_CLOSE. Таким образом, вы контролируете, когда ваше приложение закрывается, включая приглашение пользователю сохранить любую работу и т. Д.