JFrame: получение фактического размера контента - PullRequest
7 голосов
/ 23 августа 2011

Я создал JFrame, и попытка получить его размер дает неверный результат по сравнению с тем, что я ожидаю.

Я определил, что он включает в себя границы операционной системы по краям и строку заголовка.

Как я могу получить / установить реальный размер, который у меня есть для рендеринга?

Ответы [ 2 ]

5 голосов
/ 23 августа 2011

Размер, который вы получаете - это размер содержимого и размер вставок . Если вы используете Jcomponent.getInsets(), вы можете найти размер содержимого простым вычитанием.

2 голосов
/ 23 августа 2011

Ваш вопрос сбивает с толку: у JPanels нет строк заголовка или границ окна, это абстрактные контейнеры, которые ВНУТРИ JFrames. JFrames - это объекты с заголовками и рамками окон.

JPanel.getSize() должно работать как положено. Тем не менее, для JFrames вы захотите использовать JFrame.getContentPane().getSize(), потому что getContentPane() возвращает JPanel (это фактическая область содержимого).

...