JavaTM 2 Platform
Standard Ed. 6

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),為指示這些單位,提供了導出的常數 INCHMM

一旦建構之後,二維大小屬性的值就是不可變的。

設計

將二維大小屬性的 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 - 單位轉換因子,即 INCHMM
拋出:
IllegalArgumentException - (未經檢查的異常)如果 x < 0 或 y < 0 或 units < 1。

Size2DSyntax

protected Size2DSyntax(int x,
                       int y,
                       int units)
根據給定的整數值建構一個新的二維大小屬性。

參數:
x - X 維度。
y - Y 維度。
units - 單位轉換因子,即 INCHMM
拋出:
IllegalArgumentException - (未經檢查的異常)如果 x < 0 或 y < 0 或 units < 1。
方法詳細資訊

getSize

public float[] getSize(int units)
獲取給定單位的此二維大小屬性的維度作為浮點值。

參數:
units - 單位轉換因子,即 INCHMM
返回:
包含索引 0 處的 X 維度和索引 1 處的 Y 維度的兩元素陣列。
拋出:
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",其中 X 為 X 維度,Y 為 Y 維度,U 為單位名稱。以浮點形式顯示該值。

參數:
units - 單位轉換因子,即 INCHMM
unitsName - 單位名稱字元串,即 "in""mm"。如果為 null,則沒有任何單位名稱附加到該結果。
返回:
此二維大小屬性的字元串版本。
拋出:
IllegalArgumentException - (未經檢查的異常)如果 units < 1,則拋出該異常。

equals

public boolean equals(Object object)
返回此二維大小屬性是否等效於傳入的物件。若要等效,以下所有條件都必須為 true:
  1. object 不為 null。
  2. object 是類別 Size2DSyntax 的一個實例。
  3. 此屬性的 X 維度等於 object 的 X 維度。
  4. 此屬性的 Y 維度等於 object 的 Y 維度。

覆寫:
類別 Object 中的 equals
參數:
object - 要比較的物件。
返回:
如果 object 等效於此二維大小屬性,則返回 True,否則返回 false。
另請參見:
Object.hashCode(), Hashtable

hashCode

public int hashCode()
返回此二維大小屬性的雜湊碼值。

覆寫:
類別 Object 中的 hashCode
返回:
此物件的一個雜湊碼值。
另請參見:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
返回此二維大小屬性的字元串版本。該字元串採用的形式是 "XxY um",其中 X 為 X 維度,Y 為 Y 維度。使用內部單位微米報告該值。

覆寫:
類別 Object 中的 toString
返回:
該物件的字元串表示形式。

getXMicrometers

protected int getXMicrometers()
返回此二維大小屬性的 X 維度(以微米為單位)。(在子類別中使用。)

返回:
X 維度(單位微米)。

getYMicrometers

protected int getYMicrometers()
返回此二維大小屬性的 Y 維度(以微米為單位)。(在子類別中使用。)

返回:
Y 維度(微米)。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only