У меня будет основной JPanel, использующий BorderLayout.
Тогда у меня будет два подчиненных JPanel, один из которых будет добавлен в основной JPanel с помощью BorderLayout.WEST, а другой добавлен в основной JPanel с помощью BorderLayout.ВОСТОК.
Западная JPanel будет использовать GridBagLayout, 4 столбца и 4 строки.Я бы использовал Insets, чтобы получить желаемый интервал.
Восточная JPanel будет использовать GridBagLayout, 4 столбца и 6 строк.Опять же, я бы использовал Insets, чтобы получить желаемый интервал.
Я бы поместил кнопки внутри JPanel, который использует FlowLayout.Я бы установил предпочтительный размер JPanel, чтобы кнопки оставались в одном ряду.Затем я добавил бы кнопку JPanel к восточной JPanel в качестве 6-й строки.