模块 java.desktop

类 Size2DSyntax

java.lang.Object
javax.print.attribute.Size2DSyntax
所有已实现的接口:
Serializable , Cloneable
已知子类:
MediaSize

public abstract class Size2DSyntax extends Object implements Serializable , Cloneable
Size2DSyntax 是一个抽象基类,提供所有表示二维大小的属性的通用实现。

二维大小属性的值由两项组成,X 维度和Y 维度。可以通过提供两个值并指示测量值的单位来构建二维大小属性。提供了返回二维大小属性值的方法,指示返回值的单位。两种最常见的尺寸单位是英寸 (in) 和毫米 (mm),并提供导出常量 INCH MM 来指示这些单位。

一旦构建,二维大小属性的值是不可变的。

Design

二维尺寸属性的 XY 尺寸值在内部存储为以微米 (µm) 为单位的整数,其中 1 微米 = 10-6米 = 1/1000 毫米 = 1/25400 英寸。这允许精确表示尺寸,精度为 1/1000 毫米(= 1 µm)或 1/100 英寸(= 254 µm)。如果小数英寸以 2 的负次方表示,这允许尺寸精确地表示为 1/8 英寸(= 3175 µm)而不是 1/16 英寸(因为 1/16 英寸不等于整数)微米)。

以 µm 的通用单位在内部存储尺寸,可以比较两个尺寸属性,而无需考虑创建它们时所用的单位;例如,8.5 英寸将比较等于 215.9 毫米,因为它们都存储为 215900 µm。例如,查找服务可以根据序列化表示的相等性来匹配解析属性,而不管它们是在什么单元中创建的。将整数用于内部存储允许进行精确的相等比较,如果使用内部浮点表示则无法保证。请注意,如果您要查找以公制单位表示的 U.S. letter 大小的介质,则必须搜索 215.9 x 279.4 毫米的介质尺寸;四舍五入到整数 216 x 279 毫米将不匹配。

导出的常量 INCH 实际上是一个转换因子,乘以一个以英寸为单位的值以获得以 µm 为单位的值。同样,导出的常量 MM 是转换因子,乘以以毫米为单位的值以获得以微米为单位的值。客户可以通过提供自己的换算系数以英寸或毫米以外的单位指定分辨率值。但是,由于选择内部单位 µm 时考虑到仅支持外部单位英寸和毫米,因此无法保证客户单位的转换因子将是一个精确的整数。如果转换因子不是精确的整数,则不会精确存储客户端单位的分辨率值。

参见:
  • 字段摘要

    字段
    修饰符和类型
    Field
    描述
    static final int
    以英寸 (in) 为单位表示的值。
    static final int
    数值以毫米 (mm) 为单位表示。
  • 构造方法总结

    构造方法
    修饰符
    构造方法
    描述
    protected
    Size2DSyntax(float x, float y, int units)
    从给定的浮点值构造一个新的二维大小属性。
    protected
    Size2DSyntax(int x, int y, int units)
    从给定的整数值构造一个新的二维大小属性。
  • 方法总结

    修饰符和类型
    方法
    描述
    boolean
    equals(Object object)
    返回这个二维大小属性是否等同于传入的对象。
    float[]
    getSize(int units)
    以给定单位获取此二维尺寸属性的尺寸作为浮点值。
    float
    getX(int units)
    以给定单位返回此二维大小属性的 X 维度作为浮点值。
    protected int
    以微米 (µm) 为单位返回此二维尺寸属性的 X 尺寸。
    float
    getY(int units)
    以给定单位返回此二维大小属性的 Y 维度作为浮点值。
    protected int
    以微米 (µm) 为单位返回此二维尺寸属性的 Y 尺寸。
    int
    返回此二维大小属性的哈希码值。
    返回此二维尺寸属性的字符串版本。
    toString(int units, String unitsName)
    以给定单位返回此二维尺寸属性的字符串版本。

    在类 java.lang.Object 中声明的方法

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • 字段详细信息

    • INCH

      public static final int INCH
      以英寸 (in) 为单位表示的值。它实际上是将英寸乘以得到 µm (25400) 的转换因子。
      参见:
    • MM

      public static final int MM
      数值以毫米 (mm) 为单位表示。它实际上是将 mm 乘以得到 µm (1000) 的转换因子。
      参见:
  • 构造方法详细信息

    • Size2DSyntax

      protected Size2DSyntax(float x, float y, int units)
      从给定的浮点值构造一个新的二维大小属性。
      参数:
      x - X 维度
      y - Y 维度
      units - 单位换算系数,例如 INCH MM
      抛出:
      IllegalArgumentException - 如果 x < 0y < 0units < 1
    • Size2DSyntax

      protected Size2DSyntax(int x, int y, int units)
      从给定的整数值构造一个新的二维大小属性。
      参数:
      x - X 维度
      y - Y 维度
      units - 单位换算系数,例如 INCH MM
      抛出:
      IllegalArgumentException - 如果 x < 0y < 0units < 1
  • 方法详情

    • getSize

      public float[] getSize(int units)
      以给定单位获取此二维尺寸属性的尺寸作为浮点值。
      参数:
      units - 单位换算系数,例如 INCH MM
      返回:
      一个双元素数组,X 维度位于索引 0 处,Y 维度位于索引 1 处
      抛出:
      IllegalArgumentException - 如果 units < 1
    • getX

      public float getX(int units)
      以给定单位返回此二维大小属性的 X 维度作为浮点值。
      参数:
      units - 单位换算系数,例如 INCH MM
      返回:
      X维度
      抛出:
      IllegalArgumentException - 如果 units < 1
    • getY

      public float getY(int units)
      以给定单位返回此二维大小属性的 Y 维度作为浮点值。
      参数:
      units - 单位换算系数,例如 INCH MM
      返回:
      Y维度
      抛出:
      IllegalArgumentException - 如果 units < 1
    • toString

      public String  toString(int units, String  unitsName)
      以给定单位返回此二维尺寸属性的字符串版本。该字符串采用 "XxY U" 形式,其中XX维度,YY 维度,并且U是单位名称。这些值以浮点数显示。
      参数:
      units - 单位换算系数,例如 INCH MM
      unitsName - 单位名称字符串,例如 inmm 。如果 null ,则没有单位名称附加到结果
      返回:
      String 这个二维尺寸属性的版本
      抛出:
      IllegalArgumentException - 如果 units < 1
    • equals

      public boolean equals(Object  object)
      返回这个二维大小属性是否等同于传入的对象。要等效,必须满足以下所有条件:
      1. object 不是 null
      2. object 是类 Size2DSyntax 的实例
      3. 此属性的 X 维度等于 objectX 维度。
      4. 此属性的 Y 维度等于 objectY 维度。
      重写:
      equals 在类 Object
      参数:
      object - Object 比较
      返回:
      true如果object相当于这个二维尺寸属性,false否则
      参见:
    • hashCode

      public int hashCode()
      返回此二维大小属性的哈希码值。
      重写:
      hashCode 在类 Object
      返回:
      此对象的哈希码值。
      参见:
    • toString

      public String  toString()
      返回此二维尺寸属性的字符串版本。该字符串采用 "XxY um" 形式,其中XX维度和YY维度。这些值以微米的内部单位报告。
      重写:
      toString 在类 Object
      返回:
      对象的字符串表示形式。
    • getXMicrometers

      protected int getXMicrometers()
      以微米 (µm) 为单位返回此二维尺寸属性的 X 尺寸。 (用于子类。)
      返回:
      X 尺寸 (µm)
    • getYMicrometers

      protected int getYMicrometers()
      以微米 (µm) 为单位返回此二维尺寸属性的 Y 尺寸。 (用于子类。)
      返回:
      Y 尺寸 (µm)