Java 如何使用swing中的GridLayout使列大小不同?

Java 如何使用swing中的GridLayout使列大小不同?,java,swing,grid-layout,Java,Swing,Grid Layout,我使用的是GridLayout,代码如下: int changingVar = 1; JPanel panel = new JPanel(new GridLayout(changingVar, 2)); panel.add(new JButton("BUTTON1")); panel.add(new JButton("BUTTON2")); 这看起来像: ___________________________________________ | [ BUTTON1 ] [

我使用的是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实现这一点?我不反对使用另一种布局,只要我可以有不同数量的两种不同大小的行和列


谢谢

如果您想要这种效果,那么您需要使用GridBagLayout

玩得开心点

编辑:


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

我以前使用过GridBag,但我希望它只是一个调整列(column_num)的函数gridlayout@Grammin请记住,在过去两年中,我没有跟上JavaAPI的变化。话虽如此,我一直走在你走的同一条路上。据我所知,在标准的网格布局中,大小是一致的。因此,GridBagLayout允许不同大小的列和行元素。问题是,对于任何初学者来说,GridBagLayout只是无尽的痛苦。如果您至少提到了如何使用GridBagLayout。这个答案会突然变得非常有用。但我为什么要重新创建文档呢?已经有很多例子可以使用了,我也有一段时间没有使用gridlayout了,希望不需要使用gridbag。