GroupLayout

2025年3月17日 | 阅读 3 分钟

GroupLayout 以分层方式对其组件进行分组并将其放置在 Container 中。分组由 Group 类的实例完成。

Group 是一个抽象类,实现此 Group 类的两个具体类是 SequentialGroup 和 ParallelGroup。

SequentialGroup 将其子项一个接一个地依次放置,而 ParallelGroup 将其子项对齐在彼此的顶部。

GroupLayout 类提供诸如 createParallelGroup() 和 createSequentialGroup() 之类的方法来创建组。

GroupLayout 独立地处理每个轴。 也就是说,有一个表示水平轴的组,和一个表示垂直轴的组。 每个组件都必须存在于水平组和垂直组中,否则在布局期间或请求最小、首选或最大大小时会抛出 IllegalStateException。

嵌套类

修饰符和类型Class描述
静态类GroupLayout.AlignmentParallelGroup 可以对其子项对齐的可能方式的枚举。
classGroupLayout.GroupGroup 为 GroupLayout 支持的两种操作类型提供了基础:按顺序放置组件(SequentialGroup)或对齐(ParallelGroup)。
classGroupLayout.ParallelGroup它是一个对齐和调整其子项大小的 Group。
classGroupLayout.SequentialGroup它是一个按顺序放置和调整其元素大小的 Group,一个接一个。

字段

修饰符和类型字段描述
static intDEFAULT_SIZE它指示应将组件或间隙的大小用于特定范围值。
static intPREFERRED_SIZE它指示应将组件或间隙的首选大小用于特定范围值。

构造函数

GroupLayout(Container host)它为指定的 Container 创建一个 GroupLayout。

有用的方法

修饰符和类型字段描述
voidaddLayoutComponent(Component component, Object constraints)它通知父容器已添加一个 Component。
voidaddLayoutComponent(String name, Component component)它通知父容器已添加一个 Component。
GroupLayout.ParallelGroupcreateBaselineGroup(boolean resizable, boolean anchorBaselineToTop)它创建一个 ParallelGroup 并将其子元素沿基线对齐。
GroupLayout.ParallelGroupcreateParallelGroup()它创建一个 Alignment 为 Alignment.LEADING 的 ParallelGroup。
GroupLayout.ParallelGroupcreateParallelGroup(GroupLayout.Alignment alignment)它使用指定的对齐方式创建一个 ParallelGroup。
GroupLayout.ParallelGroupcreateParallelGroup(GroupLayout.Alignment alignment, boolean resizable)它使用指定的对齐方式和调整大小行为创建一个 ParallelGroup。
GroupLayout.SequentialGroupcreateSequentialGroup()它创建一个 SequentialGroup。
booleangetAutoCreateContainerGaps()如果自动创建容器和与容器相邻的组件之间的间隙,则返回 true。
booleangetAutoCreateGaps()如果自动创建组件之间的间隙,则返回 true。
booleangetHonorsVisibility()它返回在调整组件大小和定位组件时是否考虑组件可见性。
floatgetLayoutAlignmentX(Container parent)它返回沿 x 轴的对齐方式。
floatgetLayoutAlignmentY(Container parent)它返回沿 y 轴的对齐方式。
维度maximumLayoutSize(Container parent)它返回指定容器的最大大小。

示例 1

文件名: GroupExample.java

输出

Java Grouplayout 1

示例 2

文件名: GroupExample2.java

输出

Java Grouplayout 2
下一主题Java SpringLayout