模块  java.desktop
软件包  javax.print.attribute

Class Size2DSyntax

  • 实现的所有接口
    SerializableCloneable
    已知直接子类:
    MediaSize

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

    二维大小属性的值由两个项组成,即X维和Y维。 可以通过提供两个值并指示测量值的单位来构造二维尺寸属性。 提供了返回二维大小属性值的方法,指示要返回值的单位。 两个最常见的尺寸单位是英寸(英寸)和毫米(mm),并且提供导出的常数INCHMM用于指示那些单位。

    构造后,二维大小属性的值是不可变的。

    设计

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

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

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

    另请参见:
    Serialized Form
    • 字段汇总

      字段  
      变量和类型 字段 描述
      static int INCH
      表示英寸(in)单位的值。
      static int MM
      表示毫米(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 getXMicrometers()
      以微米(μm)为单位返回此二维大小属性的 X维度。
      float getY​(int units)
      以给定单位返回此二维大小属性的 Y维度作为浮点值。
      protected int getYMicrometers()
      以微米(μm)为单位返回此二维大小属性的 Y维度。
      int hashCode()
      返回此二维大小属性的哈希码值。
      String toString()
      返回此二维大小属性的字符串版本。
      String toString​(int units, String unitsName)
      以给定单位返回此二维大小属性的字符串版本。
    • 字段详细信息

      • 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 - 单位转换因子,例如 INCHMM
        异常
        IllegalArgumentException - 如果 x < 0y < 0units < 1
      • Size2DSyntax

        protected Size2DSyntax​(int x,
                               int y,
                               int units)
        根据给定的整数值构造新的二维大小属性。
        参数
        x - X尺寸
        y - Y
        units - 单位转换因子,例如 INCHMM
        异常
        IllegalArgumentException - 如果 x < 0y < 0units < 1
    • 方法详细信息

      • getSize

        public float[] getSize​(int units)
        以给定单位获取此二维大小属性的维度作为浮点值。
        参数
        units - 单位换算系数,例如 INCHMM
        结果
        与一个二单元阵列 X尺寸在索引0和 Y索引1维
        异常
        IllegalArgumentException - 如果 units < 1
      • getX

        public float getX​(int units)
        以给定单位返回此二维大小属性的 X维度作为浮点值。
        参数
        units - 单位转换因子,例如 INCHMM
        结果
        X维度
        异常
        IllegalArgumentException - 如果 units < 1
      • getY

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

        public String toString​(int units,
                               String unitsName)
        以给定单位返回此二维大小属性的字符串版本。 该字符串采用"XxY U" ,其中XX维度, YY维度, U是单位名称。 值以浮点显示。
        参数
        units - 单位转换因子,例如 INCHMM
        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
        另请参见:
        Object.hashCode()HashMap
      • toString

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

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

        protected int getYMicrometers()
        以微米(μm)为单位返回此二维大小属性的Y维度。 (用于子类。)
        结果
        Y尺寸( Y