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

2022-09-01 05:28:31

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

其中一列占用的面板空间比另一列多。如何使用网格布局执行此操作?我不反对使用另一种布局,只要我可以有不同数量的行和列,它们是两种不同的大小。

谢谢


答案 1

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

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

玩得开心

编辑:

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


答案 2

推荐