Spec-Zone.ru › OpenJDK 27

Класс SizeRequirements

java.lang.Object
javax.swing.SizeRequirements
Все реализованные интерфейсы:
Serializable
public class SizeRequirements extends Object implements Serializable
Для удобства менеджеров компоновки вычисляет информацию о размере и положении компонентов. Все методы вычисления размера и положения являются методами класса, принимающими в качестве аргументов массивы SizeRequirements. Класс SizeRequirements поддерживает два типа компоновки:
мозаичная
Компоненты размещаются вплотную друг к другу, начиная либо с координаты 0 (самой левой или верхней позиции), либо с координаты, соответствующей концу выделенного промежутка (самой правой или нижней позиции).
выровненная
Компоненты выравниваются согласно значению выравнивания X или Y каждого компонента.

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

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

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. 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()
Возвращает строку с описанием требований к минимальному, предпочтительному и максимальному размерам, а также выравнивания.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание полей

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
Возвращает:
массив целых чисел, содержащий итоговый размер каждого элемента

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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