Spec-Zone.ru › OpenJDK 24

Класс GroupLayout.ParallelGroup

java.lang.Object
javax.swing.GroupLayout.Group
javax.swing.GroupLayout.ParallelGroup
Enclosing class:
GroupLayout
public sealed class GroupLayout.ParallelGroup extends GroupLayout.Group
A Group, выравнивающий и задающий размеры своих дочерних элементов. ParallelGroup выравнивает свои дочерние элементы четырьмя возможными способами: по базовой линии, по центру, привязанными к ведущему краю или к заднему краю.

Базовая линия

A ParallelGroup, выравнивающий свои дочерние элементы по базовой линии, должен сначала определить, где эта линия закреплена. Базовая линия может быть закреплена к верху или к низу группы. То есть расстояние между базовой линией и началом группы может быть постоянным, или расстояние между концом группы и базовой линией может быть постоянным. Возможные варианты соответствуют константам BaselineResizeBehavior CONSTANT_ASCENT и CONSTANT_DESCENT.

Якорь базовой линии может быть явно задан методом createBaselineGroup, или определен на основе элементов. Если не задан явно, то базовая линия будет закреплена к низу, если все элементы с базовой линией, и выровненные по базовой линии, имеют поведение изменения размера базовой линии CONSTANT_DESCENT; в противном случае базовая линия закрепляется к верху группы.

Элементы, выровненные по базовой линии, могут быть изменены в размере, если у них есть поведение изменения размера базовой линии CONSTANT_ASCENT или CONSTANT_DESCENT. Элементы с поведением изменения размера базовой линии OTHER или CENTER_OFFSET не могут быть изменены в размере.

Базовая линия рассчитывается на основе предпочтительной высоты каждого элемента, у которого есть базовая линия. Базовая линия рассчитывается с помощью следующего алгоритма: max(maxNonBaselineHeight, maxAscent + maxDescent), где maxNonBaselineHeight - максимальная высота всех элементов, у которых нет базовой линии, или они не выровнены по базовой линии. maxAscent - максимальный восходящий (базовый) элемент всех элементов, у которых есть базовая линия и они выровнены по базовой линии. maxDescent - максимальное нисходящее (предпочтительная высота - базовая линия) всех элементов, у которых есть базовая линия и они выровнены по базовой линии.

ParallelGroup, выравнивающий элементы по базовой линии, полезен только по вертикальной оси. Если вы создадите группу по базовой линии и используете ее по горизонтальной оси, при запросе минимального, предпочтительного или максимального размера или попытке размещения компонентов будет выброшено исключение IllegalStateException.

Элементы, которые не выровнены по базовой линии и имеют размер меньше размера ParallelGroup, позиционируются одним из трех способов: по центру, привязанные к ведущему краю или к заднему краю.

Небазовая ParallelGroup

ParallelGroup, созданные с выравниванием, отличным от BASELINE, выравнивают элементы, которые меньше размера группы, одним из трех способов: по центру, привязанными к ведущему краю или к заднему краю.

Ведущий край определяется осью и ComponentOrientation. Для вертикальной оси верхний край всегда является ведущим, а нижний - задним. Когда ComponentOrientation равна LEFT_TO_RIGHT, ведущий край - левый край, а задний - правый. ComponentOrientation равна RIGHT_TO_LEFT, меняет местами левый и правый края. Дочерние элементы выравниваются в соответствии с указанным выравниванием, с которым элемент был добавлен. Если вы не укажете выравнивание, используется выравнивание, заданное для ParallelGroup.

Для выравнивания элементов по базовой линии нужно createBaselineGroup или createParallelGroup с выравниванием BASELINE. Если группа не создавалась с выравниванием по базовой линии, и вы попытаетесь добавить элемент, указав выравнивание по базовой линии, будет выброшено исключение IllegalArgumentException.

Since:
1.6
See Also:
  • GroupLayout.createParallelGroup()
  • GroupLayout.createBaselineGroup(boolean,boolean)

Краткое описание методов

Модификатор и тип Метод Описание
GroupLayout.ParallelGroup addComponent(Component component)
Добавляет Component в этот Group.
GroupLayout.ParallelGroup addComponent(Component component, int min, int pref, int max)
Добавляет Component в этот Group с указанным размером.
GroupLayout.ParallelGroup addComponent(Component component, GroupLayout.Alignment alignment)
Добавляет Component в этот ParallelGroup с указанным выравниванием.
GroupLayout.ParallelGroup addComponent(Component component, GroupLayout.Alignment alignment, int min, int pref, int max)
Добавляет Component в этот ParallelGroup с указанным выравниванием и размером.
GroupLayout.ParallelGroup addGap(int pref)
Добавляет жесткую разделительную вставку в этот Group.
GroupLayout.ParallelGroup addGap(int min, int pref, int max)
Добавляет разделительную вставку в этот Group с указанным размером.
GroupLayout.ParallelGroup addGroup(GroupLayout.Alignment alignment, GroupLayout.Group group)
Добавляет Group в этот ParallelGroup с указанным выравниванием.
GroupLayout.ParallelGroup addGroup(GroupLayout.Group group)
Добавляет Group в этот Group.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробности методов

addGroup

public GroupLayout.ParallelGroup addGroup(GroupLayout.Group group)
Добавляет Group в этот Group.
Overrides:
addGroup в классе GroupLayout.Group
Параметры:
group - добавляемая Group
Возвращает:
этот Group

addComponent

public GroupLayout.ParallelGroup addComponent(Component component)
Добавляет Component в этот Group.
Overrides:
addComponent в классе GroupLayout.Group
Параметры:
component - добавляемый Component
Возвращает:
этот Group

addComponent

public GroupLayout.ParallelGroup addComponent(Component component, int min, int pref, int max)
Добавляет Component в этот Group с указанным размером.
Overrides:
addComponent в классе GroupLayout.Group
Параметры:
component - добавляемый Component
min - минимальный размер или один из DEFAULT_SIZE или PREFERRED_SIZE
pref - предпочтительный размер или один из DEFAULT_SIZE или PREFERRED_SIZE
max - максимальный размер или один из DEFAULT_SIZE или PREFERRED_SIZE
Возвращает:
этот Group

addGap

public GroupLayout.ParallelGroup addGap(int pref)
Добавляет жёсткий зазор в этот Group.
Overrides:
addGap в классе GroupLayout.Group
Параметры:
pref - размер зазора
Возвращает:
этот Group

addGap

public GroupLayout.ParallelGroup addGap(int min, int pref, int max)
Добавляет зазор в этот Group с указанным размером.
Overrides:
addGap в классе GroupLayout.Group
Параметры:
min - минимальный размер зазора
pref - предпочтительный размер зазора
max - максимальный размер зазора
Возвращает:
этот Group

addGroup

public GroupLayout.ParallelGroup addGroup(GroupLayout.Alignment alignment, GroupLayout.Group group)
Добавляет Group в этот ParallelGroup с указанным выравниванием. Если дочерний элемент меньше, чем Group, он выравнивается в соответствии с указанным выравниванием.
Параметры:
alignment - выравнивание
group - добавляемый Group
Возвращает:
этот ParallelGroup
Исключения:
IllegalArgumentException - если alignment является null

addComponent

public GroupLayout.ParallelGroup addComponent(Component component, GroupLayout.Alignment alignment)
Добавляет Component в этот ParallelGroup с указанным выравниванием.
Параметры:
component - добавляемый Component
alignment - выравнивание
Возвращает:
этот Group
Исключения:
IllegalArgumentException - если alignment является null

addComponent

public GroupLayout.ParallelGroup addComponent(Component component, GroupLayout.Alignment alignment, int min, int pref, int max)
Добавляет Component в этот ParallelGroup с указанным выравниванием и размером.
Параметры:
component - добавляемый Component
alignment - выравнивание
min - минимальный размер
pref - предпочтительный размер
max - максимальный размер
Возвращает:
этот Group
Исключения:
IllegalArgumentException - если alignment является null

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/GroupLayout.ParallelGroup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API