setlocationrelativeto в java



Автор MrChebik задал вопрос в разделе Java

Почему setLocationRelativeTo() подводит? и получил лучший ответ

Ответ от Alexey[гуру]
Тут, пожалуй, две вещи:
setSize():
This method changes layout-related information, and therefore, *invalidates* the component hierarchy.
Не забыть после setSize сделать validate()
Вообще в swing практически все компоненты нарисованы самим Swing'ом (эдакие игрушечные). За исключение самих окошек, которые самые что ни на есть настоящие (JFrame, JDialog). А значит и ведут себя (смотрим описание java.awt.Window в javadoc) соответственно... не всегда ожидаемо в случаях "по умолчанию" типа setLocationRelativeTo. Так что лучше центровать так:
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
int x = (int) ((dimension.getWidth() - aWindow.getWidth()) / 2);
int y = (int) ((dimension.getHeight() - aWindow.getHeight()) / 2);
aWindow.setLocation(x, y);
Alexey
(3380)
швырни на почту, погляжу

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Почему setLocationRelativeTo() подводит?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*