Java GridBagLayout中的权重X和权重Y

Java GridBagLayout中的权重X和权重Y,java,gridbaglayout,Java,Gridbaglayout,我很难理解这两个属性。我应该如何给组件配重?这些数字是如何计算的?我试图在网上读几篇文章,但我不明白 谢谢。weightx和weighty用于确定如何在列和行之间分配空间 此值对于指定大小调整行为非常重要。如果未指定任何weightx或weighty,则所有组件将在其容器的中心聚集在一起。 有关更多信息,请参阅的文档 对于每列,权重与为该列中的组件指定的最高权重X相关。类似地,每行的重量与该行中某个组件指定的最高重量Y相关。如果面板内的空间大于其中包含的组件的首选尺寸,则使用重量X和重量Y将额外

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


谢谢。

weightx
weighty
用于确定如何在列和行之间分配空间

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


对于每列,权重与为该列中的组件指定的最高权重X相关。类似地,每行的重量与该行中某个组件指定的最高重量Y相关。

如果面板内的空间大于其中包含的组件的首选尺寸,则使用重量X和重量Y将额外空间分配给各个组件

使用0.0到1.0之间的值(将其视为百分比)

  • 权重x是水平间距

  • 权重是垂直间距


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

非常好,但您不必使用0.0到1.0之间的值。价值观可以是任何东西。额外的空间是按单个组件权重除以行或列中所有组件的总权重的百分比分配的。确实如此。我只建议使用0.0到1.0之间的代码,因为这是最佳实践,而且如果按百分比考虑,代码更容易阅读。谢谢。因此,如果两个按钮的权重X分别为0.2和0.8,其中一个按钮将获得“20%”的空间,另一个按钮将获得“80%”的空间?@Andreas-绝对是的。80/20优先尺寸上方的空间分割。