Получение правильных размеров для JComponent после использования GroupLayout - PullRequest
0 голосов
/ 25 мая 2011

Я хотел спросить, возможно ли получить правильные размеры JPanel после того, как он был помещен в другой JPanel, который использует GroupLayout в качестве Layout Manager.Я уже пытался использовать:

.getPreferredSize (): это приводит к установленному мной предпочтительному размеру, а не к фактическому размеру, который рисуется на JPanel во фрейме (если размер фрейма изменяется,элемент будет расширяться по горизонтали; что не видно в значениях).

.getSize (): возвращает 0.

.getHeight (): возвращает 0.

.getWidth (): возвращает 0.

Возможно, расположение кода имеет значение, но оно выполняется ПОСЛЕ отображения на экране, поэтому это не должно иметь значения.

Чтобы заставить его выполнитьчто после того, как это отобразится на экране, возможно, я смогу использовать EventQueue, но я не уверен, как.

Спасибо за ваши ответы!

1 Ответ

2 голосов
/ 25 мая 2011

Вы можете получить «правильный» размер компонента только после его рендеринга, либо вызвав pack или setVisible (true) для контейнера верхнего уровня.

Возможно, расположение кода имеет значение, но оно выполняется ПОСЛЕ отображения на экране, поэтому это не должно иметь значения.

Тогда что-то не так. Вы уверены, что вызываете эти методы для видимых компонентов, а не для некоторых переменных, которые их скрывают? Без кода трудно сказать, где находится ваша ошибка.

...