Класс SizeRequirements

Все реализованные интерфейсы:
Serializable
public class SizeRequirements
extends Object
implements Serializable

Для удобства менеджеров компоновки рассчитывает информацию о размере и позиции компонентов. Все методы расчёта размера и позиции являются методами класса, принимающими массивы SizeRequirements в качестве аргументов. Класс SizeRequirements поддерживает два типа компоновки:

tiled
Компоненты размещаются друг за другом, начиная либо с координаты 0 (самое левое или верхнее положение), либо с координаты, представляющей конец выделенного размаха (самое правое или нижнее положение).
aligned
Компоненты выравниваются в соответствии со значением выравнивания X или Y каждого компонента.

Каждый объект SizeRequirements содержит информацию о ширине (и выравнивании по X) или высоте (и выравнивании по Y) одного компонента или группы компонентов:

minimum
Минимальная приемлемая ширина/высота компонента или группы компонентов в пикселях.
preferred
Естественная ширина/высота компонента или группы компонентов в пикселях.
maximum
Максимальная приемлемая ширина/высота компонента или группы компонентов в пикселях.
alignment
Выравнивание по X/Y компонента или группы компонентов.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими релизами Swing. Текущая поддержка сериализации подходит для краткосрочного хранения или RMI между приложениями, использующими ту же версию Swing. С версии 1.4 добавлена поддержка долгосрочного хранения всех JavaBeans™ в пакете java.beans. Пожалуйста, обратитесь к XMLEncoder.

С версии:
1.2
См. также:
Component.getMinimumSize(), Component.getPreferredSize(), Component.getMaximumSize(), Component.getAlignmentX(), Component.getAlignmentY(), Сериализованная форма

Поля

Модификатор и тип Поле Описание
float alignment

Выравнивание, заданное значением от 0,0 до 1,0 включительно.

int maximum

Максимальный разрешённый размер.

int minimum

Минимальный необходимый размер.

int preferred

Предпочтительный (естественный) размер.

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

Конструктор Описание
SizeRequirements()

Создаёт объект SizeRequirements с минимальным, предпочтительным и максимальным размерами, равными нулю, и значением выравнивания 0,5 (по центру).

SizeRequirements​(int min, int pref, int max, float a)

Создаёт объект SizeRequirements с указанными минимальным, предпочтительным и максимальным размерами и указанным выравниванием.

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

Модификатор и тип Метод Описание
static int[] adjustSizes​(int delta, SizeRequirements[] children)

Корректирует указанный массив размеров на заданную величину.

static void calculateAlignedPositions​(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans)

Создаёт набор пар смещение/протяжённость, определяющих способ размещения набора компонентов с указанными выравниваниями.

static void calculateAlignedPositions​(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans, boolean normal)

Создаёт набор пар смещение/протяжённость, определяющих способ размещения набора компонентов с указанными выравниваниями.

static void calculateTiledPositions​(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans)

Создаёт набор пар смещение/протяжённость, представляющих способ размещения набора компонентов вплотную друг к другу.

static void calculateTiledPositions​(int allocated, SizeRequirements total, SizeRequirements[] children, int[] offsets, int[] spans, boolean forward)

Создаёт набор пар смещение/протяжённость, представляющих способ размещения набора компонентов вплотную друг к другу.

static SizeRequirements getAlignedSizeRequirements​(SizeRequirements[] children)

Определяет общее пространство, необходимое для выравнивания набора компонентов.

static SizeRequirements getTiledSizeRequirements​(SizeRequirements[] children)

Определяет общее пространство, необходимое для размещения набора компонентов вплотную друг к другу.

String toString()

Возвращает строку, описывающую минимальные, предпочтительные и максимальные требования к размеру, а также выравнивание.

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

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

Поля

minimum

public int minimum

Минимальный требуемый размер. Для компонента comp, он должен быть равен либо comp.getMinimumSize().width, либо comp.getMinimumSize().height.

preferred

public int preferred

Предпочтительный (естественный) размер. Для компонента comp, он должен быть равен либо comp.getPreferredSize().width, либо comp.getPreferredSize().height.

maximum

public int maximum

Максимальный разрешенный размер. Для компонента comp, он должен быть равен либо comp.getMaximumSize().width, либо comp.getMaximumSize().height.

alignment

public float alignment

Выравнивание, заданное значением от 0,0 до 1,0 включительно. Для задания центрирования выравнивание должно быть равно 0,5.

Конструкторы

SizeRequirements

public SizeRequirements()

Создаёт объект SizeRequirements с минимальным, предпочтительным и максимальным размерами, равными нулю, и значением выравнивания 0,5 (по центру).

SizeRequirements

public SizeRequirements(int min,
                        int pref,
                        int max,
                        float a)

Создаёт объект SizeRequirements со значениями минимального, предпочтительного и максимального размеров, заданными пользователем, а также с указанным выравниванием.

Параметры:
min - минимальный размер, ≥ 0
pref - предпочтительный размер, ≥ 0
max - максимальный размер, ≥ 0
a - выравнивание, ≥ 0.0f и ≤ 1.0f

Методы

toString

public String toString()

Возвращает строку, описывающую требования к минимальному, предпочтительному и максимальному размерам, а также выравнивание.

Переопределяет:
toString в классе Object
Возвращает:
строку

getTiledSizeRequirements

public static SizeRequirements getTiledSizeRequirements(SizeRequirements[] children)

Определяет общее пространство, необходимое для размещения набора компонентов друг за другом. Потребности каждого компонента в наборе представлены элементом в массиве SizeRequirements. Возвращаемый объект SizeRequirements имеет выравнивание 0,5 (по центру). Требование к пространству никогда не превышает Integer.MAX_VALUE.

Параметры:
children - требования к пространству для набора компонентов. Вектор может быть нулевой длины, что приведет к возврату экземпляра объекта SizeRequirements по умолчанию.
Возвращает:
общие требования к пространству.

getAlignedSizeRequirements

public static SizeRequirements getAlignedSizeRequirements(SizeRequirements[] children)

Определяет общее пространство, необходимое для выравнивания набора компонентов. Потребности каждого компонента в наборе представлены элементом в массиве SizeRequirements. Общее требуемое пространство никогда не будет превышать Integer.MAX_VALUE.

Параметры:
children - набор требований дочерних элементов. Если длина нулевая, то возвращаемое значение будет экземпляром SizeRequirements по умолчанию.
Возвращает:
общие требования к пространству.

calculateTiledPositions

public static void calculateTiledPositions(int allocated,
                                           SizeRequirements total,
                                           SizeRequirements[] children,
                                           int[] offsets,
                                           int[] spans)

Создаёт набор пар смещение/протяжённость, представляющих способ размещения набора компонентов друг за другом. Этот метод требует указания общего количества выделяемого пространства, требований к размеру каждого компонента для размещения (указанных как массив SizeRequirements) и общего требования к размеру набора компонентов. Общее требование к размеру можно получить, вызвав метод getTiledSizeRequirements. Компоненты будут выложены в прямом направлении со смещениями, увеличивающимися от 0.

Параметры:
allocated - общее пространство, подлежащее выделению, ≥ 0.
total - общее значение запросов дочерних элементов. Этот аргумент необязателен и может быть null.
children - требования к размеру каждого компонента.
offsets - смещение от 0 для каждого дочернего элемента, где выделены области (определяет размещение области).
spans - область, выделенная для каждого дочернего элемента, чтобы получить целевую общую область.

calculateTiledPositions

public static void calculateTiledPositions(int allocated,
                                           SizeRequirements total,
                                           SizeRequirements[] children,
                                           int[] offsets,
                                           int[] spans,
                                           boolean forward)

Создаёт набор пар смещение/протяжённость, представляющих способ размещения набора компонентов друг за другом. Этот метод требует указания общего количества выделяемого пространства, требований к размеру каждого компонента для размещения (указанных как массив SizeRequirements) и общего требования к размеру набора компонентов. Общее требование к размеру можно получить, вызвав метод getTiledSizeRequirements. Этот метод также требует флага, указывающего, должны ли компоненты выкладываться в прямом направлении (смещения увеличиваются от 0) или в обратном направлении (смещения уменьшаются от конца выделенного пространства). Прямое направление соответствует компонентам, выложенным слева направо или сверху вниз. Обратное направление соответствует компонентам, выложенным справа налево или снизу вверх.

Параметры:
allocated - общее пространство, подлежащее выделению, ≥ 0.
total - общее значение запросов дочерних элементов. Этот аргумент необязателен и может быть null.
children - требования к размеру каждого компонента.
offsets - смещение от 0 для каждого дочернего элемента, где выделены области (определяет размещение области).
spans - область, выделенная для каждого дочернего элемента, чтобы получить целевую общую область.
forward - выкладывать с увеличивающимися смещениями от 0, если true, и с уменьшающимися смещениями от конца выделенного пространства, если false.
С:
1.4

calculateAlignedPositions

public static void calculateAlignedPositions(int allocated,
                                             SizeRequirements total,
                                             SizeRequirements[] children,
                                             int[] offsets,
                                             int[] spans)

Создаёт набор пар смещение/протяжённость, определяющих способ размещения набора компонентов с заданными выравниваниями. Результирующие выделения областей перекрываются, при этом каждый из них максимально вписывается в заданное общее выделение. Этот метод требует указания общего количества выделяемого пространства, требований к размеру каждого компонента для размещения (указанных как массив SizeRequirements) и общих требований к размеру набора компонентов (используется только поле выравнивания). Общие требования к размеру можно получить, вызвав getAlignedSizeRequirements. Нормальное выравнивание выполняется со значением выравнивания 0,0f, которое представляет левую/верхнюю границу компонента.

Параметры:
allocated - общее пространство, подлежащее выделению, ≥ 0.
total - общее значение запросов дочерних элементов.
children - требования к размеру каждого компонента.
offsets - смещение от 0 для каждого дочернего элемента, где выделены области (определяет размещение области).
spans - область, выделенная для каждого дочернего элемента, чтобы получить целевую общую область.

calculateAlignedPositions

public static void calculateAlignedPositions(int allocated,
                                             SizeRequirements total,
                                             SizeRequirements[] children,
                                             int[] offsets,
                                             int[] spans,
                                             boolean normal)

Создаёт набор пар смещение/протяжённость, определяющих способ размещения набора компонентов с заданными выравниваниями. Результирующие выделения областей перекрываются, при этом каждый из них максимально вписывается в заданное общее выделение. Этот метод требует указания общего количества выделяемого пространства, требований к размеру каждого компонента для размещения (указанных как массив SizeRequirements) и общих требований к размеру набора компонентов (используется только поле выравнивания). Общие требования к размеру можно получить, вызвав getAlignedSizeRequirements. Этот метод также требует флага, указывающего, следует ли выполнять нормальное или обратное выравнивание. При нормальном выравнивании значение 0,0f обозначает левую/верхнюю границу выравниваемого компонента. При обратном выравнивании 0,0f обозначает правую/нижнюю границу.

Параметры:
allocated - общее пространство, подлежащее выделению, ≥ 0.
total - общее значение запросов дочерних элементов.
children - требования к размеру каждого компонента.
offsets - смещение от 0 для каждого дочернего элемента, где выделены области (определяет размещение области).
spans - область, выделенная для каждого дочернего элемента, чтобы получить целевую общую область.
normal - если true, то значение выравнивания 0,0f означает левую/верхнюю часть; если false, то правую/нижнюю.
С:
1.4

adjustSizes

public static int[] adjustSizes(int delta,
                                SizeRequirements[] children)

Изменяет указанный массив размеров на заданную величину.

Параметры:
delta - целое число, указывающее разницу в размерах
children - массив объектов SizeRequirements
Возвращает:
массив целых чисел, содержащих окончательный размер для каждого элемента

© 1993, 2020, 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://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/SizeRequirements.html

Spec-Zone .ru
спецификации, руководства, описания, API