Spec-Zone.ru › OpenJDK 8

Класс ComponentOrientation

  • java.lang.Object
    • java.awt.ComponentOrientation
Все реализованные интерфейсы:
Serializable

public final class ComponentOrientation
extends Object
implements Serializable

Класс ComponentOrientation инкапсулирует чувствительную к языку ориентацию, которая должна использоваться для упорядочивания элементов компонента или текста. Он используется для отражения различий в этом порядке между западно-европейскими алфавитами, средневосточными (такими как иврит) и дальневосточными (такими как японский).

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

В современных языках используются четыре различных ориентации, как показано в следующей таблице.

LT          RT          TL          TR
 A B C       C B A       A D G       G D A
 D E F       F E D       B E H       H E B
 G H I       I H G       C F I       I F C

(В заголовке двухбуквенное сокращение представляет направление элемента в первой букве и направление строки во второй. Например, LT означает «элементы слева направо, строки сверху вниз», TL означает «элементы сверху вниз, строки слева направо» и т. д.)

Ориентации:

  • LT — Западная Европа (необязательно для японского, китайского, корейского)
  • RT — Ближний Восток (арабский, иврит)
  • TR — Японский, китайский, корейский
  • TL — Монгольский
Компоненты, код представления и контроллера которых зависит от ориентации, должны использовать методы isLeftToRight() и isHorizontal() для определения своего поведения. Они не должны включать код, подобный оператору switch, основанный на константах, например:
if (orientation == LEFT_TO_RIGHT) {
   ...
 } else if (orientation == RIGHT_TO_LEFT) {
   ...
 } else {
   // Oops
 }
Это небезопасно, поскольку в будущем могут быть добавлены новые константы, и нет гарантии, что объекты ориентации будут уникальными.
См. также:
Сериализованная форма

Поля

Модификатор и тип Поле и описание
static ComponentOrientation LEFT_TO_RIGHT

Элементы выстраиваются слева направо, а строки сверху вниз. Примеры: английский, французский.

static ComponentOrientation RIGHT_TO_LEFT

Элементы выстраиваются справа налево, а строки сверху вниз. Примеры: арабский, иврит.

static ComponentOrientation UNKNOWN

Указывает, что ориентация компонента не задана.

Методы

Модификатор и тип Метод и описание
static ComponentOrientation getOrientation(Locale locale)

Возвращает ориентацию, соответствующую заданному языку.

static ComponentOrientation getOrientation(ResourceBundle bdl)

Устаревший.

С J2SE 1.4 используйте getOrientation(java.util.Locale).

boolean isHorizontal()

Являются ли строки горизонтальными? Вернёт true для горизонтальных систем письма слева направо, таких как латинская.

boolean isLeftToRight()

Горизонтальные строки: элементы выстраиваются слева направо?
Вертикальные строки: строки выстраиваются слева направо?
Вернёт true для горизонтальных систем письма слева направо, таких как латинская.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

LEFT_TO_RIGHT

public static final ComponentOrientation LEFT_TO_RIGHT

Элементы выстраиваются слева направо, а строки сверху вниз. Примеры: английский, французский.

RIGHT_TO_LEFT

public static final ComponentOrientation RIGHT_TO_LEFT

Элементы выстраиваются справа налево, а строки сверху вниз. Примеры: арабский, иврит.

UNKNOWN

public static final ComponentOrientation UNKNOWN

Указывает, что ориентация компонента не задана. Для сохранения поведения существующих приложений, isLeftToRight вернёт true для этого значения.

Подробное описание методов

isHorizontal

public boolean isHorizontal()

Являются ли строки горизонтальными? Вернёт true для горизонтальных систем письма слева направо, таких как латинская.

isLeftToRight

public boolean isLeftToRight()

Горизонтальные строки: элементы выстраиваются слева направо?
Вертикальные строки: строки выстраиваются слева направо?
Вернёт true для горизонтальных систем письма слева направо, таких как латинская.

getOrientation

public static ComponentOrientation getOrientation(Locale locale)

Возвращает ориентацию, соответствующую заданному языку.

Параметры:
locale — указанный язык

getOrientation

@Deprecated
public static ComponentOrientation getOrientation(ResourceBundle bdl)

Устаревший. С J2SE 1.4 используйте getOrientation(java.util.Locale).

Возвращает ориентацию, соответствующую локализации данного ResourceBundle. Проверяются три подхода в указанном порядке:

  1. Получение объекта ComponentOrientation из ResourceBundle с ключом "Orientation".
  2. Использование ResourceBundle.getLocale для определения языка ResourceBundle, затем возвращение ориентации для этого языка.
  3. Возвращение ориентации языка по умолчанию.

© 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