APIdia Launch Partner
Top Description Fields Constructors Methods
java.awt

public final Class ComponentOrientation

extends Object
implements Serializable
Class Inheritance
All Implemented Interfaces
java.io.Serializable
Imports
java.io.Serial, java.util.Locale, .ResourceBundle

The ComponentOrientation class encapsulates the language-sensitive orientation that is to be used to order the elements of a component or of text. It is used to reflect the differences in this ordering between Western alphabets, Middle Eastern (such as Hebrew), and Far Eastern (such as Japanese).

Fundamentally, this governs items (such as characters) which are laid out in lines, with the lines then laid out in a block. This also applies to items in a widget: for example, in a check box where the box is positioned relative to the text.

There are four different orientations used in modern languages as in the following table.

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

(In the header, the two-letter abbreviation represents the item direction in the first letter, and the line direction in the second. For example, LT means "items left-to-right, lines top-to-bottom", TL means "items top-to-bottom, lines left-to-right", and so on.)

The orientations are:

Components whose view and controller code depends on orientation should use the isLeftToRight() and isHorizontal() methods to determine their behavior. They should not include switch-like code that keys off of the constants, such as:
if (orientation == LEFT_TO_RIGHT) {
  ...
} else if (orientation == RIGHT_TO_LEFT) {
  ...
} else {
  // Oops
}
This is unsafe, since more constants may be added in the future and since it is not guaranteed that orientation objects will be unique.

Field Summary

Modifier and TypeField and Description
private static final int
public static final ComponentOrientation
LEFT_TO_RIGHT

Items run left to right and lines flow top to bottom Examples: English, French.

private static final int
private int
public static final ComponentOrientation
RIGHT_TO_LEFT

Items run right to left and lines flow top to bottom Examples: Arabic, Hebrew.

private static final long
serialVersionUID

Use serialVersionUID from JDK 1.6 for interoperability.

private static final int
public static final ComponentOrientation
UNKNOWN

Indicates that a component's orientation has not been set.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static ComponentOrientation

Returns:

the orientation for the locale
getOrientation
(Locale
the specified locale
locale
)

Returns the orientation that is appropriate for the given locale.

public static ComponentOrientation

Returns:

the orientation
getOrientation
(ResourceBundle
the bundle to use
bdl
)
Deprecated As of J2SE 1.4, use getOrientation(java.util.Locale).

Returns the orientation appropriate for the given ResourceBundle's localization.

public boolean

Returns:

true if this orientation has horizontal lines
isHorizontal
()

Are lines horizontal?

public boolean

Returns:

true if this orientation is left-to-right
isLeftToRight
()

HorizontalLines: Do items run left-to-right?

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

HORIZ_BITback to summary
private static final int HORIZ_BIT
LEFT_TO_RIGHTback to summary
public static final ComponentOrientation LEFT_TO_RIGHT

Items run left to right and lines flow top to bottom Examples: English, French.

LTR_BITback to summary
private static final int LTR_BIT
orientationback to summary
private int orientation
RIGHT_TO_LEFTback to summary
public static final ComponentOrientation RIGHT_TO_LEFT

Items run right to left and lines flow top to bottom Examples: Arabic, Hebrew.

serialVersionUIDback to summary
private static final long serialVersionUID

Use serialVersionUID from JDK 1.6 for interoperability.

Annotations
@Serial
UNK_BITback to summary
private static final int UNK_BIT
UNKNOWNback to summary
public static final ComponentOrientation UNKNOWN

Indicates that a component's orientation has not been set. To preserve the behavior of existing applications, isLeftToRight will return true for this value.

Constructor Detail

ComponentOrientationback to summary
private ComponentOrientation(int value)

Method Detail

getOrientationback to summary
public static ComponentOrientation getOrientation(Locale locale)

Returns the orientation that is appropriate for the given locale.

Parameters
locale:Locale

the specified locale

Returns:ComponentOrientation

the orientation for the locale

getOrientationback to summary
public static ComponentOrientation getOrientation(ResourceBundle bdl)

Deprecated

As of J2SE 1.4, use getOrientation(java.util.Locale).

Returns the orientation appropriate for the given ResourceBundle's localization. Three approaches are tried, in the following order:

  1. Retrieve a ComponentOrientation object from the ResourceBundle using the string "Orientation" as the key.
  2. Use the ResourceBundle.getLocale to determine the bundle's locale, then return the orientation for that locale.
  3. Return the default locale's orientation.
Parameters
bdl:ResourceBundle

the bundle to use

Returns:ComponentOrientation

the orientation

Annotations
@Deprecated
isHorizontalback to summary
public boolean isHorizontal()

Are lines horizontal? This will return true for horizontal, left-to-right writing systems such as Roman.

Returns:boolean

true if this orientation has horizontal lines

isLeftToRightback to summary
public boolean isLeftToRight()

HorizontalLines: Do items run left-to-right?
Vertical Lines: Do lines run left-to-right?
This will return true for horizontal, left-to-right writing systems such as Roman.

Returns:boolean

true if this orientation is left-to-right