- 封装类:
-
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
-