Класс Spring

public abstract class Spring
extends Object

Экземпляр класса Spring содержит три свойства, характеризующие его поведение: минимальное, предпочтительное и максимальное значения. Каждое из этих свойств может участвовать в определении четвёртого свойства — значения — на основе ряда правил.

Экземпляр класса Spring можно визуализировать как механическую пружину, которая оказывает корректирующее усилие при сжатии или растяжении от своего предпочтительного значения. Это усилие моделируется как линейная функция расстояния от предпочтительного значения, но с двумя разными константами — одной для сжимающей силы и одной для растягивающей. Эти константы определяются минимальным и максимальным значениями пружины таким образом, что пружина в своём минимальном значении производит равное и противоположное усилие тому, которое создаётся, когда она находится в своём максимальном значении. Разница между предпочтительным и минимальным значениями, следовательно, отражает лёгкость сжатия пружины, а разница между её максимальным и предпочтительным значениями показывает лёгкость, с которой можно растянуть Spring. Подробности см. в методе sum(javax.swing.Spring, javax.swing.Spring).

Определяя простые арифметические операции над Spring, можно свести поведение коллекции Spring к поведению обычной (не составной) Spring. Мы определяем операторы "+", "-", max и min над Spring так, что в каждом случае результатом является 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 поддержка долгосрочного хранения всех JavaBeans™ была добавлена в пакет java.beans. Пожалуйста, обратитесь к XMLEncoder.

С:
1.4
См. также:
SpringLayout, SpringLayout.Constraints

Поля

Модификатор и тип Поле Описание
static int UNSET

Целочисленное значение, обозначающее, что значение свойства ещё не вычислено.

Конструкторы

Модификатор Конструктор Описание
protected Spring()

Используется методами-фабриками для создания Spring.

Методы

Модификатор и тип Метод Описание
static Spring constant​(int pref)

Возвращает strut — пружину, у которой минимальное, предпочтительное и максимальное значения равны 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)

Возвращает пружину, у которой свойства минимальное, предпочтительное, максимальное и значение определяются высотами свойств минимальный размер, предпочтительный размер, максимальный размер и размер предоставленного компонента.

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)

Возвращает пружину, у которой свойства минимальное, предпочтительное, максимальное и значение являются кратными свойствам аргументной пружины, s.

abstract void setValue​(int value)

Устанавливает текущее значение этого Spring в value.

static Spring sum​(Spring s1, Spring s2)

Возвращает s1+s2: пружину, представляющую s1 и s2 в последовательности.

static Spring width​(Component c)

Возвращает пружину, у которой свойства минимальное, предпочтительное, максимальное и значение определяются ширинами свойств минимальный размер, предпочтительный размер, максимальный размер и размер предоставленного компонента.

Методы, объявленные в классе java.lang.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(javax.swing.Spring, javax.swing.Spring), minus(javax.swing.Spring), sum(javax.swing.Spring, javax.swing.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 в цепи. При суммировании двух пружин s1 и s2, напряжения s1, s2, и s3 поддерживаются на одном уровне (с точностью, предполагаемой целочисленными значениями).

Напряжение пружины при сжатии:

value - pref
         ------------
          pref - min
, а при растяжении:
value - pref
         ------------
          max - pref
. При вызове метода s3 на суммарной пружине s3 напряжение в s1 вычисляется по одной из формул выше.

После того, как напряжение суммы известно, значения s1 и s2 устанавливаются так, чтобы их напряжение было равно напряжению суммы. Формулы вычисляются таким образом, чтобы учесть ошибки округления и гарантировать, что сумма значений s1 и s2 точно равна значению 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)

Возвращает пружину, у которой свойства минимальное, предпочтительное, максимальное и значение являются кратными соответствующим свойствам аргументной пружины, s. Минимальное и максимальное свойства меняются местами, когда factor отрицательно (в соответствии с правилами интервальной арифметики).

Например, если множитель равен 0.5f, результат представляет собой 'середину' входных данных — операция, полезная для центрирования компонентов в контейнере.

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

width

public static Spring width(Component c)

Возвращает пружину, у которой свойства минимальное, предпочтительное, максимальное и значение определяются ширинами свойств minimumSize, preferredSize, maximumSize и size соответствующего компонента. Возвращаемая пружина — это реализация «обертки», методы которой вызывают соответствующие методы определения размера компонента. Таким образом, свойства минимальное, предпочтительное, максимальное и значение возвращаемой пружины отражают текущее состояние соответствующих свойств в компоненте и отслеживают их изменения.

Параметры:
c - Компонент, используемый для вычисления размера
Возвращает:
пружину, свойства которой определяются горизонтальной составляющей методов определения размера компонента.
Исключения:
NullPointerException - если c равно null
С тех пор:
1.5

height

public static Spring height(Component c)

Возвращает пружину, у которой свойства минимальное, предпочтительное, максимальное и значение определяются высотами свойств minimumSize, preferredSize, maximumSize и size соответствующего компонента. Возвращаемая пружина — это реализация «обертки», методы которой вызывают соответствующие методы определения размера компонента. Таким образом, свойства минимальное, предпочтительное, максимальное и значение возвращаемой пружины отражают текущее состояние соответствующих свойств в компоненте и отслеживают их изменения.

Параметры:
c - Компонент, используемый для вычисления размера
Возвращает:
пружину, свойства которой определяются вертикальной составляющей методов определения размера компонента.
Исключения:
NullPointerException - если c равно null
С тех пор:
1.5

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/Spring.html

Spec-Zone .ru
спецификации, руководства, описания, API