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