Module java.desktop
Package java.awt

Class ComponentOrientation

java.lang.Object
java.awt.ComponentOrientation
所有已实现的接口:
Serializable

public final class ComponentOrientation extends Object implements Serializable
ComponentOrientation类封装了用于对组件或文本元素进行排序的与语言相关的方向。它用于反映西方字母、中东语言(如希伯来语)和远东语言(如日语)之间的排序差异。

基本上,这控制着以行方式布局的项目(如字符),然后将行布局在一个块中。这也适用于小部件中的项目:例如,在复选框中,框相对于文本的位置。

现代语言中使用了四种不同的方向,如下表所示。

 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表示“项目从左到右,行从上到下”,TL表示“项目从上到下,行从左到右”,依此类推。)

这些方向包括:

  • LT - 西欧(日语、中文、韩文可选)
  • RT - 中东(阿拉伯语、希伯来语)
  • TR - 日语、中文、韩文
  • TL - 蒙古语
依赖于方向的视图和控制器代码的组件应使用isLeftToRight()isHorizontal()方法来确定它们的行为。它们不应包含依赖于常量的类似开关的代码,例如:
 if (orientation == LEFT_TO_RIGHT) {
   ...
 } else if (orientation == RIGHT_TO_LEFT) {
   ...
 } else {
   // 出错
 }
 
这是不安全的,因为将来可能会添加更多的常量,并且不能保证方向对象是唯一的。
参见:
  • Field Details

    • LEFT_TO_RIGHT

      public static final ComponentOrientation LEFT_TO_RIGHT
      项目从左到右,行从上到下 示例:英语、法语。
    • RIGHT_TO_LEFT

      public static final ComponentOrientation RIGHT_TO_LEFT
      项目从右到左,行从上到下 示例:阿拉伯语、希伯来语。
    • UNKNOWN

      public static final ComponentOrientation UNKNOWN
      表示组件的方向尚未设置。为了保持现有应用程序的行为,对于此值,isLeftToRight将返回true。
  • Method Details

    • isHorizontal

      public boolean isHorizontal()
      行是水平的吗?对于水平的、从左到右的书写系统(如罗马字母),这将返回true。
      返回:
      true 如果此方向具有水平线
    • isLeftToRight

      public boolean isLeftToRight()
      水平线:项目从左到右吗?
      垂直线:行从左到右吗?
      对于水平的、从左到右的书写系统(如罗马字母),这将返回true。
      返回:
      true 如果此方向是从左到右
    • getOrientation

      public static ComponentOrientation getOrientation(Locale locale)
      返回适合给定区域设置的方向。
      参数:
      locale - 指定的区域设置
      返回:
      区域设置的方向
    • getOrientation

      @Deprecated public static ComponentOrientation getOrientation(ResourceBundle bdl)
      Deprecated.
      As of J2SE 1.4, use getOrientation(java.util.Locale).
      返回适合给定ResourceBundle的本地化的方向。尝试三种方法,顺序如下:
      1. 使用字符串“Orientation”作为键从ResourceBundle中检索ComponentOrientation对象。
      2. 使用ResourceBundle.getLocale确定bundle的区域设置,然后返回该区域设置的方向。
      3. 返回默认区域设置的方向。
      参数:
      bdl - 要使用的bundle
      返回:
      方向