java.lang.Object
java.awt.ComponentOrientation
- All Implemented Interfaces:
Serializable
public final class ComponentOrientation extends Object implements Serializable
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).
(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.)
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:
- LT - Western Europe (optional for Japanese, Chinese, Korean)
- RT - Middle East (Arabic, Hebrew)
- TR - Japanese, Chinese, Korean
- TL - Mongolian
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.
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description static ComponentOrientation
LEFT_TO_RIGHT
Items run left to right and lines flow top to bottom Examples: English, French.static ComponentOrientation
RIGHT_TO_LEFT
Items run right to left and lines flow top to bottom Examples: Arabic, Hebrew.static ComponentOrientation
UNKNOWN
Indicates that a component's orientation has not been set. -
Method Summary
Modifier and Type Method Description static ComponentOrientation
getOrientation(Locale locale)
Returns the orientation that is appropriate for the given locale.static ComponentOrientation
getOrientation(ResourceBundle bdl)
Deprecated.boolean
isHorizontal()
Are lines horizontal?boolean
isLeftToRight()
HorizontalLines: Do items run left-to-right?
-
Field Details
-
LEFT_TO_RIGHT
Items run left to right and lines flow top to bottom Examples: English, French. -
RIGHT_TO_LEFT
Items run right to left and lines flow top to bottom Examples: Arabic, Hebrew. -
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.
-
-
Method Details
-
isHorizontal
public boolean isHorizontal()Are lines horizontal? This will return true for horizontal, left-to-right writing systems such as Roman.- Returns:
true
if this orientation has horizontal lines
-
isLeftToRight
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:
true
if this orientation is left-to-right
-
getOrientation
Returns the orientation that is appropriate for the given locale.- Parameters:
locale
- the specified locale- Returns:
- the orientation for the locale
-
getOrientation
Deprecated.As of J2SE 1.4, usegetOrientation(java.util.Locale)
.Returns the orientation appropriate for the given ResourceBundle's localization. Three approaches are tried, in the following order:- Retrieve a ComponentOrientation object from the ResourceBundle using the string "Orientation" as the key.
- Use the ResourceBundle.getLocale to determine the bundle's locale, then return the orientation for that locale.
- Return the default locale's orientation.
- Parameters:
bdl
- the bundle to use- Returns:
- the orientation
-
getOrientation(java.util.Locale)
.