Как я могу сделать мои столбцы разных размеров, используя GridLayout на качелях? - PullRequest
31 голосов
/ 24 июня 2011

Я использую GridLayout, и мой код выглядит следующим образом:

int changingVar = 1;

JPanel panel = new JPanel(new GridLayout(changingVar, 2));
panel.add(new JButton("BUTTON1"));
panel.add(new JButton("BUTTON2"));

Это выглядит так:

___________________________________________
| [      BUTTON1     ] [     BUTTON2     ] |
___________________________________________

это два столбца одинакового размера. Я хотел бы сделать это так:

___________________________________________
| [          BUTTON1         ] [ BUTTON2 ] |
___________________________________________

, в котором один столбец занимает больше места на панели, чем другой. Как мне сделать это с gridlayout? Я не против использования другого макета, если у меня может быть различное количество строк и столбцов двух разных размеров.

Спасибо

1 Ответ

21 голосов
/ 24 июня 2011

Если вы хотите этот эффект, вам нужно использовать GridBagLayout.

http://download.oracle.com/javase/tutorial/uiswing/layout/gridbag.html

Веселись с этим = P

EDIT:

Вы можете обойти эту проблему, используя смесь FlowLayout и GridLayout, чтобы получить аналогичный эффект. Однако это решение станет чрезвычайно утомительным и запутанным, так как ваши сложности макета станут больше.

...