Index (Frames) | Index (No Frames) | Package | Package Tree | Tree
java.awt

Class ComponentOrientation

java.lang.Object
|
+--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:Author:

Field Summary

static java.awt.ComponentOrientationLEFT_TO_RIGHT

Items run left to right, and lines flow top to bottom.
static java.awt.ComponentOrientationRIGHT_TO_LEFT

Items run right to left, and lines flow top to bottom.
static java.awt.ComponentOrientationUNKNOWN

The orientation is unknown for the locale.

Method Summary

static java.awt.ComponentOrientationgetOrientation(java.util.Locale locale)

Gets an orientation appropriate for the locale.
static java.awt.ComponentOrientationgetOrientation(java.util.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 Details

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 Details

getOrientation

public static ComponentOrientation getOrientation(java.util.Locale locale)

Gets an orientation appropriate for the locale.

Parameters:

Returns:

Throws:


getOrientation

public static ComponentOrientation getOrientation(java.util.ResourceBundle bdl)

Gets an orientation from a resource bundle. This tries the following:
  1. Use the key "Orientation" to find an instance of ComponentOrientation in the bundle.
  2. Get the locale of the resource bundle, and get the orientation of that locale.
  3. Give up and get the orientation of the default locale.

Parameters:

Returns:

Throws:


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:


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: