Класс 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
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
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 |
Возвращает пружину, у которой минимальное, предпочтительное, максимальное и значение свойства определяются высотами свойств minimumSize, preferredSize, maximumSize и size предоставленного компонента. |
static Spring |
max |
Возвращает max(s1, s2): пружину, значение которой всегда больше (или равно) значений как s1, так и s2. |
static Spring |
minus |
Возвращает -s: пружину, работающую в направлении, противоположном s. |
static Spring |
scale |
Возвращает пружину, у которой минимальное, предпочтительное, максимальное и значение свойства являются кратными свойствам аргументной пружины, s. |
abstract void |
setValue |
Устанавливает текущее значение этой пружины Spring на value. |
static Spring |
sum |
Возвращает s1+s2: пружину, представляющую s1 и s2 последовательно. |
static Spring |
width |
Возвращает пружину, у которой минимальное, предпочтительное, максимальное и значение свойства определяются ширинами свойств 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 последовательно. При суммировании двух пружин s1 и s2, напряжения s1, s2, и s3 сохраняются на одном уровне (с точностью, определяемой целыми значениями value). Напряжение сжатой пружины:
value - pref
------------
pref - min
, а напряженее растянутой пружины:
value - pref
------------
max - pref
. При вызове метода s3 на пружине-сумме, s3, напряжение в s1 вычисляется по одной из указанных формул. После определения напряжения суммы, значения s1 и s2 устанавливаются так, чтобы их напряжение соответствовало напряжению суммы. Формулы вычисляются таким образом, чтобы учесть погрешности округления и гарантировать, что сумма значений s1 и s2 точно равняется значению 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 отрицательно (в соответствии с правилами интервальной арифметики). Например, если множитель равен 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, 2021, 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/17/docs/api/java.desktop/javax/swing/Spring.html