Java GridBagLayout中的Weightx和Weighty

理解这两个属性我有些困难。 我该如何给予组件重量? 这些数字是如何计算的? 我试图在网上阅读几篇文章,但我不明白。

谢谢。

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

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

  • weightx是水平间距

  • 重量是垂直间距

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

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

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

对于每列,权重与为该列中的组件指定的最高权重x相关。 类似地,每行的权重与为该行内的组件指定的最高权重相关。