モジュール java.desktop
パッケージ java.awt

クラスComponentOrientation

java.lang.Object
java.awt.ComponentOrientation
すべての実装されたインタフェース:
Serializable

public final class ComponentOrientation extends Object implements Serializable
ComponentOrientationクラスは、コンポーネントまたはテキストの各要素を言語に従って配置するための方向をカプセル化します。 西洋のアルファベット、ヘブライ語などの中東の言語、そして日本語などの極東の言語のそれぞれで異なる語順を反映するために使用します。

基本的に文字などのアイテムを一列に並べ、その列を並べてブロックを構成します。 これはたとえば、チェックボックス内にテキストとの相対位置を指定して配置されるボックスのような、ウィジェット内のアイテムにも適用されます。

現代の言葉で使用される配置は次に示すように4種類あります。

 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
 

(ヘッダーの2文字の短縮形は最初の文字がアイテムの方向、次の文字が行の方向を表します。
たとえば、LTは「アイテムは左から右、行は上から下」を示し、TLは「アイテムは上から下、行は左から右」を表します。ほかも同様です。)

これらの記号は主に次の言語に使用されます。

  • LT - 西ヨーロッパ(日本語、中国語、韓国語でも使用)
  • RT - 中東(アラビア語、ヘブライ語)
  • TR - 日本語、中国語、韓国語
  • TL - モンゴル語
外見と制御コードが方向によって変わるコンポーネントではisLeftToRight()メソッドとisHorizontal()メソッドを使用して動作を決定します。 ただし次のように定数で動作を切り替えるコードは使用しないでください。
 if (orientation == LEFT_TO_RIGHT) {
   ...
 } else if (orientation == RIGHT_TO_LEFT) {
   ...
 } else {
   // Oops
 }
 
定数は将来追加される可能性があり、方向オブジェクトも重複しない保証はないのでこれは安全な方法ではありません。

関連項目: