java.awt

Class ComponentOrientation

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, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

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(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:
  • Use the key "Orientation" to find an instance of ComponentOrientation in the bundle.
  • Get the locale of the resource bundle, and get the orientation of that locale.
  • Give up and get the orientation of the default locale.
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

ComponentOrientation.java -- describes a component's orientation Copyright (C) 2000, 2001, 2002 Free Software Foundation This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.