web-dev-qa-db-ja.com

SwingでGridLayoutを使用して、列を異なるサイズにするにはどうすればよいですか?

GridLayoutを使用していますが、コードは次のとおりです。

int changingVar = 1;

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

これは次のようになります。

___________________________________________
| [      BUTTON1     ] [     BUTTON2     ] |
___________________________________________

これは2つの均等なサイズの列です。私はこのようにしたいと思います:

___________________________________________
| [          BUTTON1         ] [ BUTTON2 ] |
___________________________________________

この場合、1つの列が他の列よりも多くのパネルスペースを占有します。 gridlayoutでこれを行うにはどうすればよいですか? 2つの異なるサイズの行と列の量を変えることができる限り、別のレイアウトを使用することに反対しません。

ありがとう

31
Grammin

この効果が必要な場合は、GridBagLayoutを使用する必要があります。

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

それを楽しんでください= P

編集:

FlowLayoutとGridLayoutを組み合わせて使用​​して同様の効果を得ると、問題を回避できます。ただし、レイアウトの複雑さが大きくなると、このソリューションは非常に退屈で煩雑になります。

21
Feisty Mango