GridLayout, как следует из названия, размещает компоненты в соответствии с количеством столбцов и строк, указанных в конструкторе , и будет перемещаться к следующей строке, как только вы добавите указанное число компоненты.
Из вашего вопроса кажется, что FlowLayout больше соответствует тому, что вы ищете.
Редактировать : Я не уверен, почему, но если указать число строк равным 0 (например, new GridLayout(0, 9)
, похоже, он работает правильно.