35

我正在使用 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 ] |
___________________________________________

其中一列比另一列占用更多的面板空间。如何使用网格布局做到这一点?我不反对使用另一种布局,只要我可以拥有不同数量的两种不同大小的行和列。

谢谢

4

1 回答 1

23

如果你想要这种效果,那么你需要利用 GridBagLayout。

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

玩得开心=P

编辑:

您可以通过混合使用 FlowLayout 和 GridLayout 来解决此问题,以获得类似的效果。但是,随着您的布局复杂性变得更大,此解决方案将变得非常乏味和混乱。

于 2011-06-24T17:31:08.397 回答