- 封装类:
-
GroupLayout
Group。ParallelGroup以四种可能的方式对齐其子元素:沿基线、居中、锚定到前沿或锚定到后沿。
基线
一个ParallelGroup,它沿着基线对齐其子元素,必须首先决定基线锚定在哪里。基线可以锚定到顶部,也可以锚定到组的底部。也就是说,基线与组的起始点之间的距离可以是一个常量距离,或者组的末端与基线之间的距离可以是一个常量距离。可能的选择对应于BaselineResizeBehavior常量CONSTANT_ASCENT和CONSTANT_DESCENT。
如果基线锚点未被createBaselineGroup方法明确指定,它将根据元素进行确定。如果未明确指定,且所有具有基线且对齐到基线的元素的基线调整行为为CONSTANT_DESCENT,则基线将锚定到底部;否则,基线将锚定到组的顶部。
如果元素对齐到基线,则它们具有CONSTANT_ASCENT或CONSTANT_DESCENT的基线调整行为,则它们是可调整大小的。具有OTHER或CENTER_OFFSET基线调整行为的元素不可调整大小。
基线是根据具有基线的每个元素的首选高度计算的。基线是使用以下算法计算的:max(maxNonBaselineHeight, maxAscent + maxDescent),其中maxNonBaselineHeight是所有没有基线或不沿基线对齐的元素的最大高度,maxAscent是所有具有基线且沿基线对齐的元素的最大上升(基线),maxDescent是所有具有基线且沿基线对齐的元素的最大下降(首选高度 - 基线)。
沿基线对齐其元素的ParallelGroup仅在垂直轴上有用。如果您创建一个基线组并在水平轴上使用它,当您要求GroupLayout的最小、首选或最大大小或尝试布局组件时,将抛出IllegalStateException。
未对齐到基线且小于ParallelGroup大小的元素将以以下三种方式之一定位:居中、锚定到前沿或锚定到后沿。
非基线ParallelGroup
使用与BASELINE不同的对齐方式创建的ParallelGroup以以下三种方式之一对齐小于组大小的元素:居中、锚定到前沿或锚定到后沿。
前沿基于轴和ComponentOrientation。对于垂直轴,顶部边缘始终是前沿,底部边缘始终是后沿。当ComponentOrientation为LEFT_TO_RIGHT时,前沿是左边缘,后沿是右边缘。RIGHT_TO_LEFT的ComponentOrientation会翻转左右边缘。根据添加元素时指定的对齐方式对子元素进行对齐。如果未指定对齐方式,则使用为ParallelGroup指定的对齐方式。
要沿基线对齐元素,您需要createBaselineGroup,或使用对齐方式为BASELINE创建ParallelGroup。如果组未使用基线对齐方式创建,并且您尝试添加指定基线对齐方式的元素,则会抛出IllegalArgumentException。
- 自版本:
- 1.6
- 参见:
-
Method Summary
Modifier and TypeMethodDescriptionaddComponent(Component component) 向此Group添加一个Component。addComponent(Component component, int min, int pref, int max) 向此Group添加一个具有指定大小的Component。addComponent(Component component, GroupLayout.Alignment alignment) 向此ParallelGroup添加一个具有指定对齐方式的Component。addComponent(Component component, GroupLayout.Alignment alignment, int min, int pref, int max) 向此ParallelGroup添加一个具有指定对齐方式和大小的Component。addGap(int pref) 向此Group添加一个固定间隙。addGap(int min, int pref, int max) 向此Group添加一个具有指定大小的间隙。addGroup(GroupLayout.Alignment alignment, GroupLayout.Group group) 向此ParallelGroup添加一个具有指定对齐方式的Group。addGroup(GroupLayout.Group group) 向此Group添加一个Group。
-
Method Details
-
addGroup
向此Group添加一个Group。- 覆盖:
-
addGroup在类GroupLayout.Group中 - 参数:
-
group- 要添加的Group - 返回:
-
此
Group
-
addComponent
向此Group添加一个Component。- 覆盖:
-
addComponent在类GroupLayout.Group中 - 参数:
-
component- 要添加的Component - 返回:
-
此
Group
-
addComponent
向此Group添加一个具有指定大小的Component。- 覆盖:
-
addComponent在类GroupLayout.Group中 - 参数:
-
component- 要添加的Component -
min- 最小大小或DEFAULT_SIZE或PREFERRED_SIZE之一 -
pref- 首选大小或DEFAULT_SIZE或PREFERRED_SIZE之一 -
max- 最大大小或DEFAULT_SIZE或PREFERRED_SIZE之一 - 返回:
-
此
Group
-
addGap
向此Group添加一个固定间隙。- 覆盖:
-
addGap在类GroupLayout.Group中 - 参数:
-
pref- 间隙的大小 - 返回:
-
此
Group
-
addGap
向此Group添加一个具有指定大小的间隙。- 覆盖:
-
addGap在类GroupLayout.Group中 - 参数:
-
min- 间隙的最小大小 -
pref- 间隙的首选大小 -
max- 间隙的最大大小 - 返回:
-
此
Group
-
addGroup
向此ParallelGroup添加一个具有指定对齐方式的Group。如果子元素小于Group的大小,则根据指定的对齐方式对其进行对齐。- 参数:
-
alignment- 对齐方式 -
group- 要添加的Group - 返回:
-
此
ParallelGroup - 抛出:
-
IllegalArgumentException- 如果alignment为null
-
addComponent
向此ParallelGroup添加一个具有指定对齐方式的Component。- 参数:
-
component- 要添加的Component -
alignment- 对齐方式 - 返回:
-
此
Group - 抛出:
-
IllegalArgumentException- 如果alignment为null
-
addComponent
public GroupLayout.ParallelGroup addComponent(Component component, GroupLayout.Alignment alignment, int min, int pref, int max) 向此ParallelGroup添加一个具有指定对齐方式和大小的Component。- 参数:
-
component- 要添加的Component -
alignment- 对齐方式 -
min- 最小大小 -
pref- 首选大小 -
max- 最大大小 - 返回:
-
此
Group - 抛出:
-
IllegalArgumentException- 如果alignment为null
-