JavaTM Platform
Standard Ed. 6

java.awt
列挙型 Component.BaselineResizeBehavior

java.lang.Object
  上位を拡張 java.lang.Enum<Component.BaselineResizeBehavior>
      上位を拡張 java.awt.Component.BaselineResizeBehavior
すべての実装されたインタフェース:
Serializable, Comparable<Component.BaselineResizeBehavior>
含まれているクラス:
Component

public static enum Component.BaselineResizeBehavior
extends Enum<Component.BaselineResizeBehavior>

コンポーネントのサイズが変化するにつれてベースラインが変化する共通の方法を列挙します。ベースラインのサイズ変更動作は、コンポーネントのサイズが変化するにつれてベースラインの位置がどのように変化するかを知るために、主にレイアウトマネージャーで使用されます。一般に、ベースラインのサイズ変更動作は、最小サイズ (開発者が指定した最小サイズではなく、実際の最小サイズ) 以上のサイズに対して有効になります。サイズが最小サイズより小さい場合、ベースラインのサイズ変更動作で示される方法とは異なる方法でベースラインが変化することがあります。同様に、サイズが Integer.MAX_VALUEShort.MAX_VALUE に近づくと、ベースラインのサイズ変更動作で示される方法とは異なる方法でベースラインが変化することがあります。

導入されたバージョン:
1.6
関連項目:
Component.getBaselineResizeBehavior(), Component.getBaseline(int,int)

列挙型定数の概要
CENTER_OFFSET
          コンポーネントの中心からベースラインまでの距離が固定となることを示します。
CONSTANT_ASCENT
          ベースラインが y 原点に対して固定となることを示します。
CONSTANT_DESCENT
          ベースラインが高さに対して固定となり、幅が変化しても変化しないことを示します。
OTHER
          ベースラインのサイズ変更動作をほかの定数で表現できないことを示します。
 
メソッドの概要
static Component.BaselineResizeBehavior valueOf(String name)
          指定した名前を持つこの型の列挙型定数を返します。
static Component.BaselineResizeBehavior[] values()
          この列挙型の定数を含む配列を宣言されている順序で返します。
 
クラス java.lang.Enum から継承されたメソッド
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
 
クラス java.lang.Object から継承されたメソッド
getClass, notify, notifyAll, wait, wait, wait
 

列挙型定数の詳細

CONSTANT_ASCENT

public static final Component.BaselineResizeBehavior CONSTANT_ASCENT
ベースラインが y 原点に対して固定となることを示します。つまり、高さや幅にかかわらず、getBaseline が同じ値を返します。たとえば、JLabel に空でないテキストが含まれ、その垂直の配置方法が TOP である場合、JLabel のベースラインタイプは CONSTANT_ASCENT になります。


CONSTANT_DESCENT

public static final Component.BaselineResizeBehavior CONSTANT_DESCENT
ベースラインが高さに対して固定となり、幅が変化しても変化しないことを示します。つまり、任意の高さ H に対して、H と getBaseline(w, H) の差が一定になります。たとえば、JLabel に空でないテキストが含まれ、その垂直の配置方法が BOTTOM である場合、JLabel のベースラインタイプは CONSTANT_DESCENT になります。


CENTER_OFFSET

public static final Component.BaselineResizeBehavior CENTER_OFFSET
コンポーネントの中心からベースラインまでの距離が固定となることを示します。つまり、任意の高さ H に対して、getBaseline(w, H)H / 2 の差が一定 (丸め誤差 ±1) になります。  

丸め誤差の可能性があるため、計算値に 1 を追加する必要があるかどうかを調べるために、連続する 2 つの高さでベースラインを要求し、その戻り値で判定することをお勧めします。次のコードは、任意の高さについてベースラインを計算する方法を示します。

   Dimension preferredSize = component.getPreferredSize();
   int baseline = getBaseline(preferredSize.width,
                              preferredSize.height);
   int nextBaseline = getBaseline(preferredSize.width,
                                  preferredSize.height + 1);
   // Amount to add to height when calculating where baseline
   // lands for a particular height:
   int padding = 0;
   // Where the baseline is relative to the mid point
   int baselineOffset = baseline - height / 2;
   if (preferredSize.height % 2 == 0 &&
       baseline != nextBaseline) {
       padding = 1;
   }
   else if (preferredSize.height % 2 == 1 &&
            baseline == nextBaseline) {
       baselineOffset--;
       padding = 1;
   }
   // The following calculates where the baseline lands for
   // the height z:
   int calculatedBaseline = (z + padding) / 2 + baselineOffset;
 


OTHER

public static final Component.BaselineResizeBehavior OTHER
ベースラインのサイズ変更動作をほかの定数で表現できないことを示します。また、コンポーネントの幅に応じてベースラインが変化することを示す場合もあります。ベースラインを持たないコンポーネントも、この値を返します。

メソッドの詳細

values

public static Component.BaselineResizeBehavior[] values()
この列挙型の定数を含む配列を宣言されている順序で返します。 このメソッドは次のようにして定数を反復するために使用できます:
for (Component.BaselineResizeBehavior c : Component.BaselineResizeBehavior.values())
    System.out.println(c);

戻り値:
この列挙型の定数を宣言されている順序で含む配列

valueOf

public static Component.BaselineResizeBehavior valueOf(String name)
指定した名前を持つこの型の列挙型定数を返します。 文字列は、この型の列挙型定数を宣言するのに使用した識別子と厳密に 一致している必要があります (余分な空白文字を含めることはできません)。

パラメータ:
name - 返される列挙型定数の名前
戻り値:
指定された名前を持つ列挙型定数
例外:
IllegalArgumentException - 指定された名前を持つ定数を この列挙型が持っていない場合
NullPointerException - 引数が null の場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。