Используйте gridbaglayout, потому что это дает вам возможность задавать веса столбцам или строкам и устанавливать значения пробелов и отступов.
Я создал приложение Swing, которое содержит 12 фреймов, и все они сделаны с помощью GridBagLayout.
Я также пробовал другие до этого, но у всех были ограничения.Вот тут-то и начинается GridBagLayout. Начать понимать, как он работает, немного сложнее, но как только вы почувствуете это, лучше всего получить компоненты там, где вы хотите.
Если вы хотите, чтобы яЯ приведу вам отличный пример рамки, созданной с помощью GridBagLayout.