モジュール java.desktop
パッケージ 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)
    • 列挙型定数の詳細

      • CONSTANT_ASCENT

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

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