- java.lang.Object
-
- javax.print.attribute.Size2DSyntax
-
- All Implemented Interfaces:
-
Serializable
,Cloneable
- 已知直接子类:
-
MediaSize
public abstract class Size2DSyntax extends Object implements Serializable, Cloneable
Class Size2DSyntax是一个抽象基类,提供表示二维大小的所有属性的常见实现。二维尺寸属性的值由X维和Y维两个项组成。 可以通过提供两个值并指示测量值的单位来构造二维尺寸属性。 提供了返回二维大小属性值的方法,指示要返回值的单位。 两个最常见的尺寸单位是英寸(英寸)和毫米(mm),并且提供输出常数
INCH
和MM
用于指示这些单元。一旦构造,二维大小属性的值是不可变的。
设计
二维尺寸属性的X和Y尺寸值内部存储为以微米(μm)为单位的整数,其中1微米= 10 -6米= 1/1000毫米= 1/25400英寸。 这允许尺寸精确地表示为1/1000mm(=1μm)或1/100英寸(=254μm)的精度。 如果分数英寸以两个负功率表示,则允许尺寸精确地表示为1/8英寸(=3175μm)但不是1/16英寸的精度(因为1/16英寸不等于整数Âμm)。
将尺寸内部存储在Âμm的公共单位中,可以比较两个尺寸属性,而不考虑它们的创建单位; 例如,8.5英寸将相当于215.9毫米,因为它们都存储为215900微米。 例如,查找服务可以基于其序列化表示的相等性来匹配分辨率属性,而不管其创建的单位如何。 使用内部存储的整数可以进行精确的等式比较,如果使用内部浮点表示,则不能保证。 请注意,如果您要按公制单位寻找美国信件尺寸的媒体,则必须搜索介质尺寸为215.9 x 279.4 mm; 四舍五入到一个216 x 279毫米的整体将不匹配。
导出的常数
INCH
实际上是以英寸乘以一个值的转换因子,以获得以μm为单位的值。 同样地,输出的常数MM
是用于乘以mm的值的转换因子,以获得以μm为单位的值。 客户可以通过提供自己的转换系数来指定除英寸或毫米以外的单位的分辨率值。 然而,由于选择了um的内部单元,仅支持英寸和mm的外部单位,因此不能保证客户单位的转换系数将是一个确切的整数。 如果转换因子不是一个精确的整数,客户单位的分辨率值将不会被精确存储。- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
Size2DSyntax(float x, float y, int units)
从给定的浮点值构造新的二维大小属性。protected
Size2DSyntax(int x, int y, int units)
从给定的整数值构造一个新的二维大小属性。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 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
值表示英寸单位(英寸)。 实际上是通过乘以英寸产生Âμm(25400)的转换因子。- 另请参见:
- Constant Field Values
-
MM
public static final int MM
值表示毫米(mm)单位。 实际上是乘以mm的转换因子,得到Âμm(1000)。- 另请参见:
- Constant Field Values
-
-
构造方法详细信息
-
Size2DSyntax
protected Size2DSyntax(float x, float y, int units)
从给定的浮点值构造新的二维大小属性。- 参数
-
x
- X尺寸。 -
y
- Y尺寸。 -
units
- 单位换算系数,例如INCH
或MM
。 - 异常
-
IllegalArgumentException
- (未经检查的异常)抛出x < 0
或y < 0
或units < 1
。
-
Size2DSyntax
protected Size2DSyntax(int x, int y, int units)
从给定的整数值构造一个新的二维大小属性。- 参数
-
x
- X尺寸。 -
y
- Y尺寸。 -
units
- 单位换算系数,例如INCH
或MM
。 - 异常
-
IllegalArgumentException
- (未经检查的异常)抛出x < 0
或y < 0
或units < 1
。
-
-
方法详细信息
-
getSize
public float[] getSize(int units)
以给定单位获取此二维尺寸属性的尺寸作为浮点值。- 参数
-
units
- 单位换算系数,例如INCH
或MM
。 - 结果
- 索引为0的X维度和索引1处的Y维度的双元素数组。
- 异常
-
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"
,其中X是X维, Y是Y维, U是单位名称。 值以浮点显示。- 参数
-
units
- 单位换算系数,例如INCH
或MM
。 -
unitsName
- 单位名称字符串,例如in
或mm
。 如果为空,则不会在结果附加单位名称。 - 结果
- 这个二维大小属性的字符串版本。
- 异常
-
IllegalArgumentException
- (未经检查的异常)抛出units < 1
。
-
equals
public boolean equals(Object object)
返回此二维大小属性是否等同于传入的对象。 要相等的,所有以下条件必须为真:-
object
不为空。 -
object
是Size2DSyntax类的一个实例。 - 该属性的X维数等于
object
的X维度。 - 该属性的Y维数等于
object
的Y维度。
- 重写:
-
equals
在Object
- 参数
-
object
- 要比较的对象。 - 结果
-
如果
object
相当于此二维大小属性,object
true,否则为false。 - 另请参见:
-
Object.hashCode()
,HashMap
-
-
hashCode
public int hashCode()
返回此二维大小属性的哈希码值。- 重写:
-
hashCode
在Object
- 结果
- 该对象的哈希码值。
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()
返回此二维大小属性的字符串版本。 字符串采用形式"XxY um"
,其中X是X维, Y是Y维。 这些值以微米的内部单位报告。
-
getXMicrometers
protected int getXMicrometers()
以微米(μm)为单位返回此二维尺寸属性的X尺寸。 (用于子类。)- 结果
- X尺寸(μm)。
-
getYMicrometers
protected int getYMicrometers()
以微米(μm)为单位返回此二维尺寸属性的Y尺寸。 (用于子类。)- 结果
- Y尺寸(μm)。
-
-