Module java.desktop
Package javax.swing

Class GroupLayout.ParallelGroup

java.lang.Object
javax.swing.GroupLayout.Group
javax.swing.GroupLayout.ParallelGroup
封装类:
GroupLayout

public sealed class GroupLayout.ParallelGroup extends GroupLayout.Group
一个对其子元素进行对齐和调整大小的GroupParallelGroup以四种可能的方式对齐其子元素:沿基线、居中、锚定到前沿或锚定到后沿。

基线

一个ParallelGroup,它沿着基线对齐其子元素,必须首先决定基线锚定在哪里。基线可以锚定到顶部,也可以锚定到组的底部。也就是说,基线与组的起始点之间的距离可以是一个常量距离,或者组的末端与基线之间的距离可以是一个常量距离。可能的选择对应于BaselineResizeBehavior常量CONSTANT_ASCENTCONSTANT_DESCENT

如果基线锚点未被createBaselineGroup方法明确指定,它将根据元素进行确定。如果未明确指定,且所有具有基线且对齐到基线的元素的基线调整行为为CONSTANT_DESCENT,则基线将锚定到底部;否则,基线将锚定到组的顶部。

如果元素对齐到基线,则它们具有CONSTANT_ASCENTCONSTANT_DESCENT的基线调整行为,则它们是可调整大小的。具有OTHERCENTER_OFFSET基线调整行为的元素不可调整大小。

基线是根据具有基线的每个元素的首选高度计算的。基线是使用以下算法计算的:max(maxNonBaselineHeight, maxAscent + maxDescent),其中maxNonBaselineHeight是所有没有基线或不沿基线对齐的元素的最大高度,maxAscent是所有具有基线且沿基线对齐的元素的最大上升(基线),maxDescent是所有具有基线且沿基线对齐的元素的最大下降(首选高度 - 基线)。

沿基线对齐其元素的ParallelGroup仅在垂直轴上有用。如果您创建一个基线组并在水平轴上使用它,当您要求GroupLayout的最小、首选或最大大小或尝试布局组件时,将抛出IllegalStateException

未对齐到基线且小于ParallelGroup大小的元素将以以下三种方式之一定位:居中、锚定到前沿或锚定到后沿。

非基线ParallelGroup

使用与BASELINE不同的对齐方式创建的ParallelGroup以以下三种方式之一对齐小于组大小的元素:居中、锚定到前沿或锚定到后沿。

前沿基于轴和ComponentOrientation。对于垂直轴,顶部边缘始终是前沿,底部边缘始终是后沿。当ComponentOrientationLEFT_TO_RIGHT时,前沿是左边缘,后沿是右边缘。RIGHT_TO_LEFTComponentOrientation会翻转左右边缘。根据添加元素时指定的对齐方式对子元素进行对齐。如果未指定对齐方式,则使用为ParallelGroup指定的对齐方式。

要沿基线对齐元素,您需要createBaselineGroup,或使用对齐方式为BASELINE创建ParallelGroup。如果组未使用基线对齐方式创建,并且您尝试添加指定基线对齐方式的元素,则会抛出IllegalArgumentException

自版本:
1.6
参见: