Большинство экранов работают очень естественно с BorderLayout, и это дает хорошее поведение по изменению размера компонентам внутри него.
Лично я бы предпочел вкладывать различные компоненты в BorderLayout - возможно, используя Grid внутри и, возможно, другие.
Много экспериментируйте с изменением размера поведения и посмотрите, что вы думаете.
Изменение размера является ключом.