Класс Spring
public abstract class Spring extends Object
Spring содержит три свойства, характеризующие его поведение: минимальное, предпочтительное и максимальное значения. Каждое из этих свойств может участвовать в определении четвертого свойства — значения — на основе ряда правил. Экземпляр класса Spring можно представить в виде механической пружины, которая создает корректирующую силу при сжатии или растяжении относительно предпочтительного значения. Эта сила моделируется как линейная функция расстояния от предпочтительного значения, но с двумя разными коэффициентами: один для силы сжатия, другой — для силы растяжения. Эти коэффициенты определяются минимальным и максимальным значениями пружины таким образом, что пружина при минимальном значении создает равную по величине и противоположно направленную силу той, которая возникает при максимальном значении. Поэтому разница между предпочтительным и минимальным значениями определяет, насколько легко сжать пружину, а разница между ее максимальным и предпочтительным значениями показывает, насколько легко можно растянуть Spring. Подробности см. в методе sum(Spring, Spring).
Определив простые арифметические операции для Spring, можно свести поведение набора Spring к поведению обычной (не составной) Spring. Мы определяем для Spring операторы «+», «-», max и min так, чтобы в каждом случае результатом была Spring, характеристики которой находятся в полезной математической связи с составляющими ее пружинами.
Spring можно рассматривать как пару интервалов с одной общей точкой — предпочтительным значением. Следующие правила определяют некоторые арифметические операторы, которые можно применять к интервалам ([a, b] обозначает интервал от a до b, где a <= b).
[a1, b1] + [a2, b2] = [a1 + a2, b1 + b2]
-[a, b] = [-b, -a]
max([a1, b1], [a2, b2]) = [max(a1, a2), max(b1, b2)]
Если обозначить Spring как [a, b, c], где a <= b <= c, то можно определить те же арифметические операторы для Spring:
[a1, b1, c1] + [a2, b2, c2] = [a1 + a2, b1 + b2, c1 + c2]
-[a, b, c] = [-c, -b, -a]
max([a1, b1, c1], [a2, b2, c2]) = [max(a1, a2), max(b1, b2), max(c1, c2)]
И для интервалов, и для Spring операторы «-» и min можно определить через отрицание:
X - Y = X + (-Y)
min(X, Y) = -max(-X, -Y)
Статические методы этого класса, реализующие арифметические операторы, не выполняют соответствующую операцию напрямую, поскольку в таком случае значения свойств аргументов метода фиксировались бы на момент вызова статического метода. Вместо этого статические методы создают новый экземпляр Spring, содержащий ссылки на аргументы метода, так что характеристики новой пружины отражают потенциально изменяющиеся характеристики пружин, из которых она была создана. Это немного напоминает концепцию ленивого значения в функциональном языке.
Если вы реализуете SpringLayout, дополнительную информацию и примеры можно найти в разделе Как использовать SpringLayout руководства «Учебное пособие по Java».
Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими выпусками Swing. Текущая поддержка сериализации предназначена для кратковременного хранения или RMI между приложениями, работающими с одной и той же версией Swing. Начиная с версии 1.4 в пакете java.beans добавлена поддержка долгосрочного хранения всех JavaBeans. См. XMLEncoder.
- Начиная с версии:
- 1.4
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final int |
UNSET |
Целочисленное значение, указывающее, что значение свойства еще не вычислено. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Используется фабричными методами для создания Spring. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static Spring |
constant |
Возвращает распорку — пружину, у которой минимальное, предпочтительное и максимальное значения равны pref. |
static Spring |
constant |
Возвращает пружину, у которой минимальное, предпочтительное и максимальное значения равны соответственно min, pref и max. |
abstract int |
getMaximumValue() |
Возвращает максимальное значение этой Spring. |
abstract int |
getMinimumValue() |
Возвращает минимальное значение этой Spring. |
abstract int |
getPreferredValue() |
Возвращает предпочтительное значение этой Spring. |
abstract int |
getValue() |
Возвращает текущее значение этой Spring. |
static Spring |
height |
Возвращает пружину, свойства minimum, preferred, maximum и size которой определяются высотой соответствующих свойств minimumSize, preferredSize, maximumSize и size переданного компонента. |
static Spring |
max |
Возвращает max(s1, s2): пружину, значение которой всегда больше значений (или равно им) обеих пружин — s1 и s2. |
static Spring |
minus |
Возвращает -s: пружину, направленную в противоположную сторону относительно s. |
static Spring |
scale |
Возвращает пружину, свойства minimum, preferred, maximum и value которой являются произведениями соответствующих свойств пружины-аргумента s на заданный множитель. |
abstract void |
setValue |
Устанавливает текущее значение этой Spring равным value. |
static Spring |
sum |
Возвращает s1+s2: пружину, представляющую последовательное соединение s1 и s2. |
static Spring |
width |
Возвращает пружину, свойства minimum, preferred, maximum и size которой определяются шириной соответствующих свойств minimumSize, preferredSize, maximumSize и size переданного компонента. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, подлежит удалению: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание полей
UNSET
public static final int UNSET
- См. также:
Подробное описание конструкторов
Spring
protected Spring()
Spring.- См. также:
Подробное описание методов
getMinimumValue
public abstract int getMinimumValue()
Spring.- Возвращает:
- свойство
minimumValueэтойSpring
getPreferredValue
public abstract int getPreferredValue()
Spring.- Возвращает:
- значение
preferredValueэтойSpring
getMaximumValue
public abstract int getMaximumValue()
Spring.- Возвращает:
- свойство
maximumValueэтойSpring
getValue
public abstract int getValue()
Spring.- Возвращает:
- свойство
valueэтойSpring - См. также:
setValue
public abstract void setValue(int value)
Spring равным value.- Параметры:
-
value— новое значение свойстваvalue - См. также:
constant
public static Spring constant(int pref)
pref.- Параметры:
-
pref— минимальное, предпочтительное и максимальное значения новой пружины - Возвращает:
- пружину, у которой минимальное, предпочтительное и максимальное значения равны
pref - См. также:
constant
public static Spring constant(int min, int pref, int max)
min, pref и max.- Параметры:
-
min— минимальное значение новой пружины -
pref— предпочтительное значение новой пружины -
max— максимальное значение новой пружины - Возвращает:
- пружину, у которой минимальное, предпочтительное и максимальное значения равны соответственно
min,prefиmax - См. также:
minus
public static Spring minus(Spring s)
-s: пружину, направленную в противоположную сторону относительно s.- Параметры:
-
s— объект типаSpring - Возвращает:
-
-s: пружину, направленную в противоположную сторону относительноs - См. также:
sum
public static Spring sum(Spring s1, Spring s2)
s1+s2: пружину, представляющую последовательное соединение s1 и s2. В сумме s3 двух пружин — s1 и s2 — деформации s1, s2 и s3 поддерживаются на одном уровне (с точностью, обусловленной целочисленными значениями). Деформация пружины при сжатии равна:
value - pref
------------
pref - min
, а деформация пружины при растяжении равна:
value - pref
------------
max - pref
Когда для суммарной пружины вызывается setValue, s3, деформация s3 вычисляется по одной из приведенных выше формул. После вычисления деформации суммы значения value пружин s1 и s2 устанавливаются так, чтобы их деформация была равна деформации суммы. Формулы учитывают ошибки округления и гарантируют, что сумма значений value пружин s1 и s2 в точности равна значению value пружины s3.- Параметры:
-
s1— объект типаSpring -
s2— объект типаSpring - Возвращает:
-
s1+s2: пружину, представляющую последовательное соединениеs1иs2 - См. также:
max
public static Spring max(Spring s1, Spring s2)
max(s1, s2): пружину, значение которой всегда больше значений (или равно им) обеих пружин — s1 и s2.- Параметры:
-
s1— объект типаSpring -
s2— объект типаSpring - Возвращает:
-
max(s1, s2): пружину, значение которой всегда больше значений (или равно им) обеих пружин —s1иs2 - См. также:
scale
public static Spring scale(Spring s, float factor)
s на заданный множитель. Если factor отрицателен, свойства minimum и maximum меняются местами (в соответствии с правилами арифметики интервалов). Например, при значении множителя 0.5f результат представляет собой «середину» входного значения — эта операция полезна для центрирования компонентов в контейнере.
- Параметры:
-
s— масштабируемая пружина -
factor— коэффициент масштабирования. - Возвращает:
- пружину, свойства которой равны соответствующим свойствам входной пружины
s, умноженным наfactor - Выбрасывает:
-
NullPointerException— еслиsимеет значение null - Начиная с версии:
- 1.5
width
public static Spring width(Component c)
- Параметры:
-
c— компонент, используемый для вычисления размера - Возвращает:
- пружину, свойства которой определяются горизонтальной составляющей методов компонента для получения размера.
- Выбрасывает:
-
NullPointerException— еслиcимеет значение null - Начиная с версии:
- 1.5
height
public static Spring height(Component c)
- Параметры:
-
c— компонент, используемый для вычисления размера - Возвращает:
- пружину, свойства которой определяются вертикальной составляющей методов компонента для получения размера.
- Выбрасывает:
-
NullPointerException— еслиcимеет значение null - Начиная с версии:
- 1.5
© 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.