Медленное рисование модальных диалогов в Java после установки местоположения экрана-центра в Java SwingJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Медленное рисование модальных диалогов в Java после установки местоположения экрана-центра в Java Swing

Сообщение Anonymous »

Я работаю над Java-приложением, которое позволяет пользователям «детализировать» элементы в диалоговом окне. Это означает появление одного модального диалога поверх другого и размещение их по центру экрана. Но к тому времени, когда я добираюсь до третьего диалогового окна, его отрисовка занимает целую вечность — иногда пару секунд.
Нарушающий код, похоже, заключается в центрировании экрана, что я делаю следующим образом:

Код: Выделить всё

setLocationRelativeTo(null);
Я комментирую эту строку, и диалоговые окна рисуются мгновенно. Это также мгновенно, если я установлю местоположение следующим образом:

Код: Выделить всё

setLocation(300,400);
Но если я выполню математические вычисления с размерами экрана и установлю для местоположения другие значения, я снова получу задержку.

Код: Выделить всё

Dimension d = getSize();     // Dialog size
// Use the above to calculate a location
setLocation(frame.screenCenter.x - (d.width / 2), frame.screenCenter.y - (d.height / 2));
Может ли кто-нибудь объяснить, что вызывает такое поведение? И есть ли способ обойти это?

Подробнее здесь: https://stackoverflow.com/questions/798 ... enter-in-j
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»