Enum Component.BaselineResizeBehavior
- java.lang.Object
-
- java.lang.Enum<Component.BaselineResizeBehavior>
-
- java.awt.Component.BaselineResizeBehavior
- All Implemented Interfaces:
-
Serializable,Comparable<Component.BaselineResizeBehavior>
- Enclosing class:
- Component
public static enum Component.BaselineResizeBehavior extends Enum<Component.BaselineResizeBehavior>
Перечисление общих способов изменения базовой линии компонента при изменении размера. Поведение изменения базовой линии в первую очередь предназначено для менеджеров компоновки, которым необходимо знать, как изменяется положение базовой линии при изменении размера компонента. В общем случае поведение изменения базовой линии будет справедливо для размеров, больших или равных минимальному размеру (фактический минимальный размер; не минимальный размер, указанный разработчиком). Для размеров, меньших минимального размера, базовая линия может изменяться не так, как указывает поведение изменения базовой линии. Аналогично, по мере приближения размера к Integer.MAX_VALUE и/или Short.MAX_VALUE, базовая линия может меняться не так, как указывает поведение изменения базовой линии.
- Since:
- 1.6
- See Also:
-
Component.getBaselineResizeBehavior(),Component.getBaseline(int,int)
Постоянные значения перечисления
| Постоянное значение перечисления | Описание |
|---|---|
CENTER_OFFSET | Указывает, что базовая линия остается на фиксированном расстоянии от центра компонента. |
CONSTANT_ASCENT | Указывает, что базовая линия остается фиксированной относительно начала координат Y. |
CONSTANT_DESCENT | Указывает, что базовая линия остается фиксированной относительно высоты и не изменяется при изменении ширины. |
OTHER | Указывает, что поведение изменения базовой линии не может быть выражено с помощью других констант. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static Component.BaselineResizeBehavior | valueOf(String name) | Возвращает константу перечисления данного типа с заданным именем. |
static Component.BaselineResizeBehavior[] | values() | Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. |
Методы, унаследованные от класса java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOfМетоды, унаследованные от класса java.lang.Object
getClass, notify, notifyAll, wait, wait, waitПостоянные значения перечисления
CONSTANT_ASCENT
public static final Component.BaselineResizeBehavior CONSTANT_ASCENT
Указывает, что базовая линия остается фиксированной относительно начала координат Y. То есть, getBaseline возвращает одинаковое значение независимо от высоты или ширины. Например, JLabel, содержащий непустой текст с вертикальным выравниванием TOP, должен иметь тип базовой линии CONSTANT_ASCENT.
CONSTANT_DESCENT
public static final Component.BaselineResizeBehavior CONSTANT_DESCENT
Указывает, что базовая линия остается фиксированной относительно высоты и не изменяется при изменении ширины. То есть, для любой высоты H разность между H и getBaseline(w, H) остается постоянной. Например, JLabel, содержащий непустой текст с вертикальным выравниванием BOTTOM, должен иметь тип базовой линии CONSTANT_DESCENT.
CENTER_OFFSET
public static final Component.BaselineResizeBehavior CENTER_OFFSET
Указывает, что базовая линия остается на фиксированном расстоянии от центра компонента. То есть, для любой высоты H разность между getBaseline(w, H) и H / 2 остается постоянной (плюс или минус единица в зависимости от погрешности округления).
Из-за возможных погрешностей округления рекомендуется запрашивать базовую линию с двумя последовательными высотами и использовать возвращаемое значение для определения, нужно ли добавлять к расчетам 1. Следующее показывает, как вычислить базовую линию для любой высоты:
Dimension preferredSize = component.getPreferredSize();
int baseline = getBaseline(preferredSize.width,
preferredSize.height);
int nextBaseline = getBaseline(preferredSize.width,
preferredSize.height + 1);
// Amount to add to height when calculating where baseline
// lands for a particular height:
int padding = 0;
// Where the baseline is relative to the mid point
int baselineOffset = baseline - height / 2;
if (preferredSize.height % 2 == 0 &&
baseline != nextBaseline) {
padding = 1;
}
else if (preferredSize.height % 2 == 1 &&
baseline == nextBaseline) {
baselineOffset--;
padding = 1;
}
// The following calculates where the baseline lands for
// the height z:
int calculatedBaseline = (z + padding) / 2 + baselineOffset;
OTHER
public static final Component.BaselineResizeBehavior OTHER
Указывает, что поведение изменения базовой линии не может быть выражено с помощью других констант. Это также может указывать на то, что базовая линия изменяется в зависимости от ширины компонента. Это также возвращается компонентами, у которых нет базовой линии.
Методы
values
public static Component.BaselineResizeBehavior[] values()
Возвращает массив, содержащий константы этого типа перечисления в порядке их объявления. Этот метод можно использовать для итерации по константам следующим образом:
for (Component.BaselineResizeBehavior c : Component.BaselineResizeBehavior.values()) System.out.println(c);
- Возвращает:
- массив, содержащий константы этого типа перечисления в порядке их объявления
valueOf
public static Component.BaselineResizeBehavior valueOf(String name)
Возвращает константу перечисления данного типа с заданным именем. Строка должна точно соответствовать идентификатору, используемому для объявления константы перечисления в этом типе. (Векторные пробельные символы не допускаются.)
- Параметры:
-
name- имя константы перечисления, которое должно быть возвращено. - Возвращает:
- константа перечисления с заданным именем
- Исключения:
-
IllegalArgumentException- если в этом типе перечисления нет константы с указанным именем -
NullPointerException- если аргумент равен null
© 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/java/awt/Component.BaselineResizeBehavior.html