Класс SizeRequirements
- java.lang.Object
-
- javax.swing.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()
Возвращает строку, описывающую требования к минимальному, предпочтительному и максимальному размерам, а также выравнивание.
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