Класс 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.
- См. также:
-
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. - Since:
- 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 - правый/нижний край. - Since:
- 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.