public static enum Component.BaselineResizeBehavior extends Enum<Component.BaselineResizeBehavior>
Integer.MAX_VALUE
や Short.MAX_VALUE
に近づくと、ベースラインのサイズ変更動作で示される方法とは異なる方法でベースラインが変化することがあります。Component.getBaselineResizeBehavior()
, Component.getBaseline(int,int)
列挙型定数と説明 |
---|
CENTER_OFFSET
コンポーネントの中心からベースラインまでの距離が固定となることを示します。
|
CONSTANT_ASCENT
ベースラインが y 原点に対して固定となることを示します。
|
CONSTANT_DESCENT
ベースラインが高さに対して固定となり、幅が変化しても変化しないことを示します。
|
OTHER
ベースラインのサイズ変更動作をほかの定数で表現できないことを示します。
|
修飾子と型 | メソッドと説明 |
---|---|
static Component.BaselineResizeBehavior |
valueOf(String name)
指定された名前を持つ、この型の列挙型定数を返します。
|
static Component.BaselineResizeBehavior[] |
values()
この列挙型の定数を含む配列を、宣言されている順序で返します。
|
public static final Component.BaselineResizeBehavior CONSTANT_ASCENT
getBaseline
が同じ値を返します。たとえば、JLabel
に空でないテキストが含まれ、その垂直の配置方法が TOP
である場合、そのベースラインタイプは CONSTANT_ASCENT
になります。public static final Component.BaselineResizeBehavior CONSTANT_DESCENT
getBaseline(w, H)
の差が一定になります。たとえば、JLabel
に空でないテキストが含まれ、その垂直の配置方法が BOTTOM
である場合、そのベースラインタイプは CONSTANT_DESCENT
になります。public static final Component.BaselineResizeBehavior CENTER_OFFSET
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;
public static final Component.BaselineResizeBehavior OTHER
public static Component.BaselineResizeBehavior[] values()
for (Component.BaselineResizeBehavior c : Component.BaselineResizeBehavior.values()) System.out.println(c);
public static Component.BaselineResizeBehavior valueOf(String name)
name
- 返される列挙型定数の名前。IllegalArgumentException
- 指定された名前を持つ定数をこの列挙型が持っていない場合NullPointerException
- 引数が null の場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.