java.awt

Class ComponentOrientation

public final class ComponentOrientation extends Object implements Serializable

This class is used to differentiate different orientations for text layout. It controls whether text flows left-to-right or right-to-left, and whether lines are horizontal or vertical, as in this 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
 
LT languages are most common (left-to-right lines, top-to-bottom). This includes Western European languages, and optionally includes Japanese, Chinese, and Korean. RT languages (right-to-left lines, top-to-bottom) are mainly middle eastern, such as Hebrew and Arabic. TR languages flow top-to-bottom in a line, right-to-left, and are the basis of Japanese, Chinese, and Korean. Finally, TL languages flow top-to-bottom in a line, left-to-right, as in Mongolian.

This is a pretty poor excuse for a type-safe enum, since it is not guaranteed that orientation objects are unique (thanks to serialization), yet there is no equals() method. You would be wise to compare the output of isHorizontal() and isLeftToRight() rather than comparing objects with ==, especially since more constants may be added in the future.

Since: 1.0

UNKNOWN: updated to 1.4

Field Summary
static ComponentOrientationLEFT_TO_RIGHT
Items run left to right, and lines flow top to bottom.
static ComponentOrientationRIGHT_TO_LEFT
Items run right to left, and lines flow top to bottom.
static ComponentOrientationUNKNOWN
The orientation is unknown for the locale.
Method Summary
static ComponentOrientationgetOrientation(Locale locale)
Gets an orientation appropriate for the locale.
static ComponentOrientationgetOrientation(ResourceBundle bdl)
Gets an orientation from a resource bundle.
booleanisHorizontal()
Returns true if the lines are horizontal, in which case lines flow top-to-bottom.
booleanisLeftToRight()
If isHorizontal() returns true, then this determines whether items in the line flow left-to-right.

Field Detail

LEFT_TO_RIGHT

public static final ComponentOrientation LEFT_TO_RIGHT
Items run left to right, and lines flow top to bottom. Examples: English, French.

RIGHT_TO_LEFT

public static final ComponentOrientation RIGHT_TO_LEFT
Items run right to left, and lines flow top to bottom. Examples: Arabic, Hebrew.

UNKNOWN

public static final ComponentOrientation UNKNOWN
The orientation is unknown for the locale. For backwards compatibility, this behaves like LEFT_TO_RIGHT in the instance methods.

Method Detail

getOrientation

public static ComponentOrientation getOrientation(Locale locale)
Gets an orientation appropriate for the locale.

Parameters: locale the locale

Returns: the orientation for that locale

Throws: NullPointerException if locale is null

getOrientation

public static ComponentOrientation getOrientation(ResourceBundle bdl)

Deprecated: use {@link #getOrientation(Locale)} instead

Gets an orientation from a resource bundle. This tries the following:

Parameters: bdl the bundle to use

Returns: the orientation

Throws: NullPointerException if bdl is null

isHorizontal

public boolean isHorizontal()
Returns true if the lines are horizontal, in which case lines flow top-to-bottom. For example, English, Hebrew. Counterexamples: Japanese, Chinese, Korean, Mongolian.

Returns: true if this orientation has horizontal lines

isLeftToRight

public boolean isLeftToRight()
If isHorizontal() returns true, then this determines whether items in the line flow left-to-right. If isHorizontal() returns false, items in a line flow top-to-bottom, and this determines if lines flow left-to-right.

Returns: true if this orientation flows left-to-right