并排设置两个Jpanels,当窗口较小时不变

时间:2013-11-10 00:22:30

标签: java swing jpanel layout-manager

我有一个bottomPanel,我想在这个面板中并排添加两个面板。它们是bottomLeft和bottomRight面板。 所以我想如果我将外面板的最小尺寸设置为大于它们并排时的宽度,当我使窗口变小时,两个面板应该并排保持。但是bottomRight总是在bottomLeft之下。下面是代码,我使用flowLayout作为bottomPanel。

bottomPanel.add(bottomPanelRight);
bottomPanel.add(bottomPanelLeft);
bottomPanel.setMinimumSize(new Dimension(600, 600));

1 个答案:

答案 0 :(得分:1)

直接问题似乎是JPanel的默认布局是FlowLayout(因为我看不到任何代码更改布局)

你可以

尝试使用GridLayout。这将确保两个组件在容器内被赋予相等的空间,这意味着它们将随着父容器更改大小而改变大小。

你可以

使用GridBagLayout,这将为您提供更大的能力来确定每个组件在其给定单元格中的布局方式。

GridBagLayout如果没有告知其他情况,将使用组件的首选大小。如果没有足够的空间来支持首选大小,则将使用组件最小大小

请查看Laying Out Components Within a Container了解详情