2014-04-15 3 views
0

У нас возникает странная проблема с нашим графическим интерфейсом после перехода на Java 1.7.Спорадический GUI-замораживание при запуске приложения (java)

Иногда, если пользователь запускает наше приложение, он, кажется, замерзает, но, вероятно, нет перерисовки, потому что если пользователь пытается, например, прокручивать, изменяет окно и возвращается в приложение, изменения прокрутки видны.

И проблема будет решена, если пользователи перейдут на полноэкранный режим.

Я пытался искать эту проблему, но единственное, что наиболее тесно связанные с ней был вопрос без ответа здесь:

http://www.java-forums.org/awt-swing/31107-intermittent-freeze-javawebstart-swing-app.html

Может быть кто-нибудь из вас были проблемы и знать решение?

+1

Пожалуйста, укажите код создания GUI. – alex2410

+4

пахнет нарушением правила EDT – kleopatra

+1

Может быть, у кого-то из вас возникла проблема и вы знаете решение? -> (согласен с обоими комментариями) нет методов Thread Safe для Swing API в Java7, удалены – mKorbel

ответ

1

Перенос на Java 7 может вызвать скрытую проблему в исходном коде. Здесь нет некоторые вещи, чтобы посмотреть на:

  • Некоторые API, особенно среди текстовых компонентов, перечисленных here, больше не отмечены поточно в Java 7.

  • Вы можете искать нарушения EDT, используя один из подходы, приведенные here.

  • Изменение размера обложки Window создает автоматический repaint(); если ваши обновления в противном случае правильно синхронизированы, вы можете упорядочить свой собственный repaint(), используя invokeLater().

  • Убедитесь, что setVisible() находится в вашей инициализации последний, послеpack().

Смежные вопросы