java.awt
Class ComponentOrientation

java.lang.Object
  extended by java.awt.ComponentOrientation
All Implemented Interfaces:
Serializable

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
See Also:
Serialized Form

Field Summary
static ComponentOrientation LEFT_TO_RIGHT
          Items run left to right, and lines flow top to bottom.
static ComponentOrientation RIGHT_TO_LEFT
          Items run right to left, and lines flow top to bottom.
static ComponentOrientation UNKNOWN
          The orientation is unknown for the locale.
 
Method Summary
static ComponentOrientation getOrientation(Locale locale)
          Gets an orientation appropriate for the locale.
static ComponentOrientation getOrientation(ResourceBundle bdl)
          Deprecated. use getOrientation(Locale) instead
 boolean isHorizontal()
          Returns true if the lines are horizontal, in which case lines flow top-to-bottom.
 boolean isLeftToRight()
          If isHorizontal() returns true, then this determines whether items in the line flow left-to-right.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

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

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 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