, а не сетка 3х4 (только с одним компонентом в третьей строке (и двумя пробелами)).
Тогда вы должны создать свой GridLayout, используя:
setLayout(new GridLayout(0,4));
Он сообщает макету, что вы не знаете, сколько у вас строк, но вам нужно 4 столбца. Таким образом, столбцы будут заполнены перед переходом к следующему ряду.
Нет необходимости в пустых компонентах.