如何在摇摆中使用GridLayout使我的列具有不同的大小?

Gra*_*min 31 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"));
Run Code Online (Sandbox Code Playgroud)

这看起来像:

___________________________________________
| [      BUTTON1     ] [     BUTTON2     ] |
___________________________________________
Run Code Online (Sandbox Code Playgroud)

这是两个大小均匀的列.我想这样做:

___________________________________________
| [          BUTTON1         ] [ BUTTON2 ] |
___________________________________________
Run Code Online (Sandbox Code Playgroud)

其中一列占用更多的面板空间然后占用另一列.如何使用gridlayout执行此操作?我并不反对使用另一种布局,只要我可以拥有两种不同大小的不同数量的行和列.

谢谢

Fei*_*ngo 21

如果你想要这个效果,那么你需要使用GridBagLayout.

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

玩得开心= P

编辑:

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

  • 问题是,对于任何初学者来说,GridBagLayout只不过是无尽的痛苦.如果您至少提到了*如何使用GridBagLayout*.这个答案会突然变得非常有帮助. (16认同)
  • 为什么我会重新发明文档呢?已经有大量的例子可供使用. (6认同)