|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
javax.print.attribute
类 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
一旦构造之后,二维大小属性的值就是不可变的。
设计
将二维大小属性的 X 和 Y 维度值在内部存储为整数,单位是微米 (µ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 英寸不等于一个整数微米)。
以通用单位微米的形式内部存储该维度可以比较这两种大小的属性,无需考虑创建它们的单位;例如,8.5 英寸将相当于 215.9 毫米,因为他们都存储为 215900 微米。例如,查询服务可以基于其序列化表示形式的相等性来匹配分辨率属性,无论它们用哪种单位创建。对内部存储使用整数可以允许执行精确的相等性比较,如果使用内部浮点表示形式,则不保证这一点。注意,如果查找公制单位的美国信函大小介质,您必须搜索大小为 215.9 x 279.4 毫米的介质;舍入为整数 216 x 279 毫米将不匹配。
导出的常量
实际上是转换因子,将一个以英寸 为单位的值乘以该转换因子可以获得以微米为单位的值。同样,导出的常量 INCH
实际上也是转换因子,将一个以毫米为单位的值乘以该转换因子可以获得以微米为单位的值。客户机可以通过提供其自已的转换因子来指定使用某些单位(英寸或毫米除外)的分辨率值。但是,由于选择内部单位微米时只考虑支持外部单位英寸和毫米,所以不能保证针对客户机单位的转换因子是一个准确的整数。如果转换因子不是一个准确的整数,则使用客户机单位的分辨率值不能精确地存储。MM
- 另请参见:
- 序列化表格
字段摘要 | |
---|---|
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() 返回此二维大小属性的 X 维度(以微米为单位)。 |
float |
getY(int units) 返回给定单位的此二维大小属性的 Y 维度作为浮点值。 |
protected int |
getYMicrometers() 返回此二维大小属性的 Y 维度(以微米为单位)。 |
int |
hashCode() 返回此二维大小属性的哈希码值。 |
String |
toString() 返回此二维大小属性的字符串版本。 |
String |
toString(int units, String unitsName) 返回给定单位的此二维大小属性的字符串版本。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
INCH
public static final int INCH
-
指示单位为英寸 (in) 的值。它实际上是转换因子,英寸乘以该转换因子得到微米 (25400)。
- 另请参见:
- 常量字段值
MM
public static final int MM
-
指示单位为毫米 (mm) 的值。它实际上是转换因子,毫米乘以该转换因子得到微米 (1000)。
- 另请参见:
- 常量字段值
构造方法详细信息 |
---|
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"
。如果为 null,则没有任何单位名称附加到该结果。 - 返回:
- 此二维大小属性的字符串版本。
- 抛出:
-
IllegalArgumentException
- (未经检查的异常)如果units
< 1,则抛出该异常。
equals
public boolean equals(Object object)
-
返回此二维大小属性是否等于传入的对象。若要相等,以下所有条件都必须为 true:
object
不为 null。object
是类 Size2DSyntax 的一个实例。- 此属性的 X 维度等于
object
的 X 维度。 - 此属性的 Y 维度等于
object
的 Y 维度。
-
- 参数:
-
object
- 要比较的对象。 - 返回:
-
如果
object
等于此二维大小属性,则返回 True,否则返回 false。 - 另请参见:
-
Object.hashCode()
,Hashtable