Spec-Zone.ru › OpenJDK 25

Класс Spring

java.lang.Object
javax.swing.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
См. также:
  • SpringLayout
  • SpringLayout.Constraints

Краткое описание полей

Модификатор и тип Поле Описание
static final int UNSET
Целочисленное значение, указывающее, что значение свойства еще не вычислено.

Краткое описание конструкторов

Spring()
Модификатор Конструктор Описание
protected
Используется фабричными методами для создания Spring.

Краткое описание методов

Модификатор и тип Метод Описание
static Spring constant(int pref)
Возвращает распорку — пружину, у которой минимальное, предпочтительное и максимальное значения равны pref.
static Spring constant(int min, int pref, int max)
Возвращает пружину, у которой минимальное, предпочтительное и максимальное значения равны соответственно min, pref и max.
abstract int getMaximumValue()
Возвращает максимальное значение этой Spring.
abstract int getMinimumValue()
Возвращает минимальное значение этой Spring.
abstract int getPreferredValue()
Возвращает предпочтительное значение этой Spring.
abstract int getValue()
Возвращает текущее значение этой Spring.
static Spring height(Component c)
Возвращает пружину, у которой свойства minimum, preferred, maximum и size задаются высотами свойств minimumSize, preferredSize, maximumSize и size переданного компонента.
static Spring max(Spring s1, Spring s2)
Возвращает max(s1, s2): пружину, значение которой всегда больше (или равно) значениям и s1, и s2.
static Spring minus(Spring s)
Возвращает -s: пружину, направленную противоположно s.
static Spring scale(Spring s, float factor)
Возвращает пружину, свойства minimum, preferred, maximum и value которой являются произведениями соответствующих свойств пружины-аргумента s на множитель.
abstract void setValue(int value)
Устанавливает текущее значение этой Spring в value.
static Spring sum(Spring s1, Spring s2)
Возвращает s1+s2: пружину, представляющую последовательное соединение s1 и s2.
static Spring width(Component c)
Возвращает пружину, у которой свойства minimum, preferred, maximum и size задаются ширинами свойств minimumSize, preferredSize, maximumSize и size переданного компонента.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

UNSET

public static final int UNSET
Целочисленное значение, указывающее, что значение свойства еще не вычислено.
См. также:
  • Значения константных полей

Подробное описание конструкторов

Spring

protected Spring()
Используется фабричными методами для создания Spring.
См. также:
  • constant(int)
  • constant(int, int, int)
  • max(Spring, Spring)
  • minus(Spring)
  • sum(Spring, Spring)
  • SpringLayout.Constraints

Подробное описание методов

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(int)

setValue

public abstract void setValue(int value)
Устанавливает текущее значение этой Spring в value.
Параметры:
value — новое значение свойства value
См. также:
  • getValue()

constant

public static Spring constant(int pref)
Возвращает распорку — пружину, у которой минимальное, предпочтительное и максимальное значения равны pref.
Параметры:
pref — минимальное, предпочтительное и максимальное значения новой пружины
Возвращает:
пружину, у которой минимальное, предпочтительное и максимальное значения равны pref
См. также:
  • Spring

constant

public static Spring constant(int min, int pref, int max)
Возвращает пружину, у которой минимальное, предпочтительное и максимальное значения равны соответственно min, pref и max.
Параметры:
min — минимальное значение новой пружины
pref — предпочтительное значение новой пружины
max — максимальное значение новой пружины
Возвращает:
пружину, у которой минимальное, предпочтительное и максимальное значения равны соответственно min, pref и max
См. также:
  • Spring

minus

public static Spring minus(Spring s)
Возвращает -s: пружину, направленную противоположно s.
Параметры:
s — объект Spring
Возвращает:
-s: пружину, направленную противоположно s
См. также:
  • Spring

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
См. также:
  • Spring

max

public static Spring max(Spring s1, Spring s2)
Возвращает max(s1, s2): пружину, значение которой всегда больше (или равно) значениям и s1, и s2.
Параметры:
s1 — объект Spring
s2 — объект Spring
Возвращает:
max(s1, s2): пружину, значение которой всегда больше (или равно) значениям и s1, и s2
См. также:
  • Spring

scale

public static Spring scale(Spring s, float factor)
Возвращает пружину, свойства minimum, preferred, maximum и value которой являются произведениями соответствующих свойств пружины-аргумента s на множитель. Если factor отрицательно, свойства minimum и maximum меняются местами (в соответствии с правилами арифметики интервалов).

Если множитель, например, равен 0.5f, результат представляет собой «середину» входного значения — это полезно для центрирования компонентов в контейнере.

Параметры:
s — масштабируемая пружина
factor — коэффициент масштабирования.
Возвращает:
пружину, свойства которой равны свойствам входной пружины s, умноженным на factor
Выбрасывает:
NullPointerException — если s равно null
Начиная с версии:
1.5

width

public static Spring width(Component c)
Возвращает пружину, свойства minimum, preferred, maximum и value которой задаются ширинами свойств minimumSize, preferredSize, maximumSize и size переданного компонента. Возвращенная пружина реализована как «обертка», методы которой вызывают соответствующие методы получения размеров переданного компонента. Поэтому свойства minimum, preferred, maximum и value возвращенной пружины отражают текущее состояние соответствующих свойств компонента и отслеживают их изменения.
Параметры:
c — компонент, используемый для вычисления размера
Возвращает:
пружину, свойства которой определяются горизонтальной составляющей методов получения размеров компонента.
Выбрасывает:
NullPointerException — если c равно null
Начиная с версии:
1.5

height

public static Spring height(Component c)
Возвращает пружину, свойства minimum, preferred, maximum и value которой задаются высотами свойств minimumSize, preferredSize, maximumSize и size переданного компонента. Возвращенная пружина реализована как «обертка», методы которой вызывают соответствующие методы получения размеров переданного компонента. Поэтому свойства minimum, preferred, maximum и value возвращенной пружины отражают текущее состояние соответствующих свойств компонента и отслеживают их изменения.
Параметры:
c — компонент, используемый для вычисления размера
Возвращает:
пружину, свойства которой определяются вертикальной составляющей методов получения размеров компонента.
Выбрасывает:
NullPointerException — если c равно null
Начиная с версии:
1.5

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/Spring.html

Spec-Zone.ru

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