Я согласен с Брайаном. Есть много причин - разрешение экрана, локализация (если вы это делаете), разные стили и рендеринг в зависимости от платформы и / или версии JVM. Макеты Swing достаточно гибки, чтобы делать все, что вы хотите, без фиксирования размера кадра. В противном случае вы собираетесь реализовать свой движок рендеринга, чтобы вычислять все , которое отображается.