Java GridBagLayout中的Weightx和Weighty

时间:2011-04-26 11:17:39

标签: java gridbaglayout

我在理解这两个属性时遇到了一些麻烦。我该如何给予组件重量?这些数字是如何计算的?我曾试图在网上阅读几篇文章,但我不明白。

谢谢。

2 个答案:

答案 0 :(得分:19)

如果Panel中的空间大于其中包含的组件的preferredDimension,则使用weightx和weighty将额外空间分配给各个组件。

使用0.0到1.0之间的值(想想这个百分比)。

  • weightx是水平间距

  • 重量是垂直间距

桌面中最常见的情况是侧窗格保持固定大小(weightx / weighty = 0.0),中间窗格占用剩余空间(weightx / weighty = 1.0)。但是,使用变体,您可以完全控制应用程序在帧大小更改时如何调整各个组件的大小。

答案 1 :(得分:2)

weightxweighty用于确定如何在列之间和行之间分配空间。

此值对于指定调整大小行为很重要。如果未指定weightx或weighty中的任何一个,则所有组件将在其容器的中心聚集在一起。 有关详细信息,请参阅GridBagLayout的文档。

对于每列,权重与为该列中的组件指定的最高权重x相关。同样,每行的权重与为该行中的组件指定的最高权重相关。