Класс Spring
- java.lang.Object
-
- javax.swing.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() Используется методами-фабриками для создания |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
static Spring |
constant(int pref) Возвращает стержень — пружину, чьи минимальное, предпочтительное и максимальное значения равны |
static Spring |
constant(int min,
int pref,
int max) Возвращает пружину, чьи минимальное, предпочтительное и максимальное значения равны соответственно |
abstract int |
getMaximumValue() Возвращает максимальное значение этого |
abstract int |
getMinimumValue() Возвращает минимальное значение этого |
abstract int |
getPreferredValue() Возвращает предпочтительное значение этого |
abstract int |
getValue() Возвращает текущее значение этого |
static Spring |
height(Component c) Возвращает пружину, чьи минимальное, предпочтительное, максимальное и значение свойства определяются высотами свойств минимальный размер, предпочтительный размер, максимальный размер и размер указанного компонента. |
static Spring |
max(Spring s1,
Spring s2) Возвращает |
static Spring |
minus(Spring s) Возвращает |
static Spring |
scale(Spring s,
float factor) Возвращает пружину, чьи минимальное, предпочтительное, максимальное и значение свойства являются кратными свойствам пружины-аргумента, |
abstract void |
setValue(int value) Устанавливает текущее значение этого |
static Spring |
sum(Spring s1,
Spring 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: пружину, направленную в противоположном направлении от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 Когда setValue вызывается для пружины суммы, s3, напряжение в s3 вычисляется по одной из приведенных выше формул. После определения напряжения суммы, значения s1 и s2 устанавливаются так, что они имеют напряжение, равное напряжению суммы. Формулы вычисляются с учетом погрешностей округления и обеспечивают, что сумма значений s1 и s2 точно равна значению s3. - Возвращает:
-
s1+s2: пружину, представляющуюs1иs2последовательно - См. также:
Spring
max
public static Spring max(Spring s1,
Spring s2) Возвращает max(s1, s2): пружину, значение которой всегда больше (или равно) значений как s1 так и s2.
- Возвращает:
-
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)
Возвращает пружину, у которой свойства минимальное, предпочтительное, максимальное и значение определяются ширинами свойств минимальный размер, предпочтительный размер, максимальный размер и размер предоставленного компонента. Возвращаемая пружина - это реализация-обёртка, методы которой вызывают соответствующие методы размера предоставленного компонента. Таким образом, свойства минимального, предпочтительного, максимального и значения возвращаемой пружины отражают текущее состояние соответствующих свойств в компоненте и отслеживают их изменения.
- Параметры:
-
c- Компонент, используемый для расчета размера - Возвращает:
- пружину, свойства которой определяются горизонтальной компонентой методов размера компонента.
- Исключения:
-
NullPointerException- еслиcравно null - С:
- 1.5
height
public static Spring height(Component c)
Возвращает пружину, у которой свойства минимальное, предпочтительное, максимальное и значение определяются высотами свойств минимальный размер, предпочтительный размер, максимальный размер и размер предоставленного компонента. Возвращаемая пружина - это реализация-обёртка, методы которой вызывают соответствующие методы размера предоставленного компонента. Таким образом, свойства минимального, предпочтительного, максимального и значения возвращаемой пружины отражают текущее состояние соответствующих свойств в компоненте и отслеживают их изменения.
- Параметры:
-
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.