Spec-Zone.ru › OpenJDK 8

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);
.

Returns:
массив, содержащий константы этого типа перечисления в порядке их объявления

valueOf

public static Component.BaselineResizeBehavior valueOf(String name)

Возвращает константу перечисления этого типа с указанным именем. Строка должна точно совпадать с идентификатором, используемым для объявления константы перечисления в этом типе. (Дополнительные пробелы не допускаются.)

Parameters:
name - имя константы перечисления, которое нужно вернуть.
Returns:
константа перечисления с указанным именем
Throws:
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.

Spec-Zone.ru

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