- java.lang.Object
-
- java.lang.Enum<Component.BaselineResizeBehavior>
-
- java.awt.Component.BaselineResizeBehavior
-
- Enclosing class:
- Component
public static enum Component.BaselineResizeBehavior extends Enum<Component.BaselineResizeBehavior>
枚举组件基线随大小变化而变化的常见方式。 基线调整大小行为主要用于需要了解基线位置随组件大小更改而变化的布局管理器。 通常,基线调整大小行为对于大于或等于最小大小(实际最小大小;不是开发人员指定的最小大小)的大小有效。 对于小于最小大小的大小,基线可能以基线调整大小行为指示的方式更改。 类似地,当大小接近Integer.MAX_VALUE
和/或Short.MAX_VALUE
,基线可能以基线调整大小行为指示的方式改变。- 从以下版本开始:
- 1.6
- 另请参见:
-
Component.getBaselineResizeBehavior()
,Component.getBaseline(int,int)
-
-
Enum Constant Summary
Enum Constants Enum Constant 描述 CENTER_OFFSET
表示基线与组件中心保持固定距离。CONSTANT_ASCENT
表示基线相对于y原点保持固定。CONSTANT_DESCENT
表示基线相对于高度保持固定,并且不随宽度变化而变化。OTHER
表示无法使用任何其他常量表示基线调整大小行为。
-
方法摘要
所有方法 静态方法 具体的方法 变量和类型 方法 描述 static Component.BaselineResizeBehavior
valueOf(String name)
返回具有指定名称的此类型的枚举常量。static Component.BaselineResizeBehavior[]
values()
按照声明的顺序返回一个包含此枚举类型常量的数组。
-
-
-
Enum Constant Detail
-
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.以下显示如何计算任何高度的基线:
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
-
-