25

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

谢谢你。

4

2 回答 2

25

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

使用从 0.0 到 1.0 的值(认为这是一个百分比)。

  • weightx 是水平间距

  • weighty 是垂直间距

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

于 2011-04-26T11:26:43.343 回答
2

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

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

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

于 2011-04-26T11:22:43.440 回答