2012-04-26 3 views
8

Я использую GridLayout для моих JPanel и было интересно, если это возможно, чтобы изменить ширину столбцов:Изменение ширины GridLayout

GridLayout grid = new GridLayout(5,2); 
panel.setLayout(grid); 

Есть простой способ?

+2

Вы хотите иметь колонки различной ширины? –

+0

Я бы рассмотрел как разные ширины столбцов, так и ширину всей компоновки. – user1170330

ответ

4

Вы можете использовать отдельную схему сетки для каждого столбца.

GridLayout grid = new GridLayout(1,2); 
    GridLayout grid1 = new GridLayout(5,1); 
     GridLayout grid2 = new GridLayout(5,1); 


     grid.add(grid1); 
     grid.add(grid2); 

Теперь вы можете установить ширину сетки 1 и сетки2.

+1

«сетка» как объект GridLayout не имеет «добавить». Как добавить их себе –

5

Проверьте GridLayout api, чтобы увидеть, что сетка выполнена так, что все ячейки имеют одинаковый размер. Если вы хотите, чтобы компонент показывался в предпочтительном размере, например (15,15), добавьте его в JPanel и добавьте JPanel в GridLayout. JPanel будет расширяться, чтобы заполнить ячейку gird и позволить компоненту отображать его предпочтительный размер.

Для ряда разных размеров вам придется попробовать что-то еще. Вложенные макеты будут хорошим начальным местом ...

Вы всегда можете использовать страшный GridBagLayout.

Смежные вопросы