Spec-Zone.ru › OpenJDK 21

Класс Spring

java.lang.Object
javax.swing.Spring
public abstract class Spring extends Object
Экземпляр класса 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.

Since:
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)
Возвращает пружину, у которой минимальное, предпочтительное, максимальное и значение свойства определяются высотами свойств 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)
Возвращает пружину, у которой минимальное, предпочтительное, максимальное и значение свойства являются кратными свойствам аргумента пружины, s.
abstract void setValue(int value)
Устанавливает текущее значение этой пружины Spring в value.
static Spring sum(Spring s1, Spring s2)
Возвращает s1+s2: пружину, представляющую s1 и s2 последовательно.
static Spring width(Component c)
Возвращает пружину, у которой минимальное, предпочтительное, максимальное и значение свойства определяются ширинами свойств minimumSize, preferredSize, maximumSize и size предоставленного компонента.

Методы, унаследованные от класса 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). Напряжение сжатой пружины:
         value - pref
         ------------
          pref - min
 
, а напряженное пружины:
         value - pref
         ------------
          max - pref
 
. При вызове метода setValue для суммарной пружины s3, напряжение в s3 рассчитывается по одной из формул выше. После определения напряжения суммы, устанавливаются значения 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)
Возвращает пружину, у которой свойства минимальное, предпочтительное, максимальное и значение являются кратными свойствам пружины-аргумента 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, 2023, 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/21/docs/api/java.desktop/javax/swing/Spring.html

Spec-Zone.ru

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