模块  java.desktop
软件包  java.awt

Enum Component.BaselineResizeBehavior

  • 实现的所有接口
    SerializableComparable<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 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