Module  java.desktop
软件包  java.awt

Enum Component.BaselineResizeBehavior

  • All Implemented Interfaces:
    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-origin保持固定。 也就是说, 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 - 如果参数为空