我在理解这两个属性时遇到了一些麻烦。我该如何给予组件重量?这些数字是如何计算的?我曾试图在网上阅读几篇文章,但我不明白。
谢谢。
答案 0 :(得分:19)
如果Panel中的空间大于其中包含的组件的preferredDimension,则使用weightx和weighty将额外空间分配给各个组件。
使用0.0到1.0之间的值(想想这个百分比)。
weightx是水平间距
重量是垂直间距
桌面中最常见的情况是侧窗格保持固定大小(weightx / weighty = 0.0),中间窗格占用剩余空间(weightx / weighty = 1.0)。但是,使用变体,您可以完全控制应用程序在帧大小更改时如何调整各个组件的大小。
答案 1 :(得分:2)
weightx
和weighty
用于确定如何在列之间和行之间分配空间。
此值对于指定调整大小行为很重要。如果未指定weightx或weighty中的任何一个,则所有组件将在其容器的中心聚集在一起。 有关详细信息,请参阅GridBagLayout的文档。
对于每列,权重与为该列中的组件指定的最高权重x相关。同样,每行的权重与为该行中的组件指定的最高权重相关。