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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。