Почему окна приложения Swing периодически не закрываются при выходе из приложения?

Почему мои приложения Swing не закрываются при использовании Netbeans 6.5 в Ubuntu 8.10 с Sun JDK 6. Даже учебные пособия по Netbeans, загруженные с веб-сайта Netbeans, делают то же самое. Когда я закрываю приложение, у меня остается мертвое окно. Затем я должен вручную убить процесс. Это приходит и уходит, но я не могу понять, что вызывает это поведение.

Я также запустил свои приложения из терминала командной строки, используя openjdk (6b12-0ubuntu6.1) и sun-java (6-10-0ubuntu2), но все же не повезло. Я заметил, что при запуске через netbeans после попытки его закрытия netbeans все еще показывает приложение как работающее и после ручного завершения процесса мой журнал netbeans выводит "Java Result: 137"

Обновление - 4 марта. Я также попытался обновить Sun JDK 6u12 и Netbeans 6.7m2. Но все равно не повезло.

Обновление - 4 марта: Хорошо, после дальнейшего тестирования я обнаружил, что это поведение начинается, как только я добавляю JPA в свое приложение. Это объясняет, почему примеры учебника по JPA на веб-сайте netbeans также делают то же самое. Я попытался написать ExitListener, чтобы сначала закрыть EntityManager, но пока не повезло. Если я удаляю EntityManager, Query и List из моей панели форм, приложения снова закрываются должным образом.

3 ответа

Решение

Это вызвано использованием внешнего вида "System Default" или "GTKLookAndFeel". Я переключился на "NimbusLookAndFeel", и проблема исчезла.

Я перепробовал все предложения, включая Netbeans 6.7 и Java 6.12.

До сих пор неясно, почему это происходит в Ubuntu 8.10.

Убедитесь, что вы вызываете setDefaultCLoseOperation(JFrame.EXIT_ON_CLOSE);

Какой минорный выпуск Java 6 вы используете? Я был на обновлении 10, я думаю, и у меня было много проблем с Ubuntu 8.10, обновление до.12 очень помогло.

Другие вопросы по тегам