Класс 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 переданного компонента. |
Подробное описание полей
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). Деформация сжатой пружины равна:
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/Spring.html