Module java.desktop
Package java.awt

Enum Class Component.BaselineResizeBehavior

java.lang.Object
java.lang.Enum<Component.BaselineResizeBehavior>
java.awt.Component.BaselineResizeBehavior
所有已实现的接口:
Serializable, Comparable<Component.BaselineResizeBehavior>, Constable
封闭类:
Component

public static enum Component.BaselineResizeBehavior extends Enum<Component.BaselineResizeBehavior>
组件大小更改时组件基线可以改变的常见方式的枚举。基线调整行为主要用于需要了解基线位置随组件大小变化而变化的布局管理器。通常,基线调整行为将对大于或等于最小大小的大小有效(实际最小大小;而不是开发人员指定的最小大小)。对于小于最小大小的大小,基线可能以基线调整行为指示的方式发生变化。类似地,随着大小接近Integer.MAX_VALUE和/或Short.MAX_VALUE,基线可能以基线调整行为指示的方式发生变化。
自Java版本:
1.6
另请参阅:
  • Enum Constant Details

    • CONSTANT_ASCENT

      public static final Component.BaselineResizeBehavior CONSTANT_ASCENT
      表示基线相对于y原点保持不变。也就是说,getBaseline返回的值不受高度或宽度的影响。例如,包含垂直对齐为TOP的非空文本的JLabel应具有基线类型CONSTANT_ASCENT
    • CONSTANT_DESCENT

      public static final Component.BaselineResizeBehavior CONSTANT_DESCENT
      表示基线相对于高度保持不变,并且随宽度变化而不变。也就是说,对于任何高度H,H和getBaseline(w, H)之间的差异是相同的。例如,包含垂直对齐为BOTTOM的非空文本的JLabel应具有基线类型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);
         // 计算特定高度基线落在何处时要添加到高度的量:
         int padding = 0;
         // 基线相对于中点的位置
         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;
         }
         // 以下计算基线落在高度z处的位置:
         int calculatedBaseline = (z + padding) / 2 + baselineOffset;
       
    • OTHER

      public static final Component.BaselineResizeBehavior OTHER
      表示基线调整行为无法用其他常量表达。这也可能表示基线随组件宽度变化而变化。这也由没有基线的组件返回。
  • Method Details

    • values

      public static Component.BaselineResizeBehavior[] values()
      返回按声明顺序包含此枚举类的常量的数组。
      返回:
      包含此枚举类的常量的数组,按声明顺序排列
    • valueOf

      public static Component.BaselineResizeBehavior valueOf(String name)
      返回具有指定名称的此类的枚举常量。字符串必须与在此类中声明枚举常量时使用的标识符完全匹配。(不允许存在多余的空格字符。)
      参数:
      name - 要返回的枚举常量的名称。
      返回:
      具有指定名称的枚举常量
      抛出:
      IllegalArgumentException - 如果此枚举类没有具有指定名称的常量
      NullPointerException - 如果参数为null