JavaTM 2 Platform
Standard Ed. 6

javax.print.attribute
類別 ResolutionSyntax

java.lang.Object
  繼承者 javax.print.attribute.ResolutionSyntax
所有已實作的介面:
Serializable, Cloneable
直接已知子類別:
PrinterResolution

public abstract class ResolutionSyntax
extends Object
implements Serializable, Cloneable

類別 ResolutionSyntax 是一種抽象的基礎類別,它提供表示印表機分辨率的所有屬性的公共實作。

分辨率屬性的值由兩項組成,即反向進紙分辨率和進紙分辨率。通過提供兩個值和指示測量該值的單位可以建構分辨率屬性。提供一些方法以返回分辨率屬性的值,並指示將要返回的值的單位。兩個最常見分辨率單位是每英吋點數 (dpi) 和每厘米點數 (dpcm),為指示這些單位,提供了導出的常數 DPIDPCM

一旦建構之後,分辨率屬性的值就是不可變的。

設計

分辨率屬性的反向進紙分辨率和進紙分辨率值是使用每 100 英吋的點數為單位 (dphi) 進行內部存儲的。使用 dphi(比方說,而不是公制單位)存儲該值允許在 dpi 和 dphi 之間以及 dpcm 和 dphi 之間進行精確的整數演算法轉換:1 dpi = 100 dphi,1 dpcm = 254 dphi。因此,可以使用任一單位將該值存儲到分辨率屬性,並從其獲取,精度上沒有任何損失。如果使用浮點表示形式,則不能保證這一點。但是,如果使用一個單位創建分辨率屬性的值,使用其他單位進行獲取,則通常會發生捨入誤差;例如,600 dpi 將被捨入為 236 dpcm,而實際值(五位數)為 236.22 dpcm。

使用通用單位 dphi 內部存儲該值可以比較這兩種分辨率屬性,無需考慮創建值的單位;例如,300 dpcm 將相當於 762 dpi,因為它們都存儲為 76200 dphi。尤其是,查詢服務可以基於它們序列化表示形式的相等性來比對分辨率屬性,而不管它們用哪種單位創建。另外,對內部存儲使用整數可以允許執行精確的相等性比較,如果使用浮點表示形式,則不保證這一點。

導出的常數 DPI 實際上是轉換因子,將一個以 dpi 為單位的值乘以轉換因子可以獲得以 dphi 為單位的值。同樣,導出的常數 DPCM 實際上是轉換因子,將一個以 dpcm 為單位的值乘以轉換因子可以獲得以 dphi 為單位的值。客戶機可以通過提供其自已的轉換因子指定使用某些單位( dpi 或 dpcm 除外)的分辨率值。但是,由於只注意支持外部單位 dpi 和 dpcm 而選擇了內部單位 dphi,所以不能保證對客戶機單位的轉換因子將是一個準確的整數。如果轉換因子不是一個準確的整數,則使用客戶機單位的分辨率值不能精確地存儲。

另請參見:
序列化表格

欄位摘要
static int DPCM
          指示每厘米點數為單位 (dpcm) 的值。
static int DPI
          指示每英吋點數為單位 (dpi) 的值。
 
建構子摘要
ResolutionSyntax(int crossFeedResolution, int feedResolution, int units)
          根據給定項建構一個新的分辨率屬性。
 
方法摘要
 boolean equals(Object object)
          返回此分辨率屬性是否等效於傳入的物件。
 int getCrossFeedResolution(int units)
          返回給定單位的此分辨率屬性的反向進紙分辨率。
protected  int getCrossFeedResolutionDphi()
          返回以 dphi 為單位的此分辨率屬性的反向進紙分辨率。
 int getFeedResolution(int units)
          返回給定單位的此分辨率屬性的進紙分辨率。
protected  int getFeedResolutionDphi()
          返回以 dphi 為單位的此分辨率屬性的進紙分辨率。
 int[] getResolution(int units)
          獲取給定單位的此分辨率屬性的分辨率值。
 int hashCode()
          返回此分辨率屬性的雜湊碼值。
 boolean lessThanOrEquals(ResolutionSyntax other)
          確定此分辨率屬性的值是否小於或等於給定分辨率屬性的值。
 String toString()
          返回此分辨率屬性的字元串版本。
 String toString(int units, String unitsName)
          返回給定單位的此分辨率屬性的字元串版本。
 
從類別 java.lang.Object 繼承的方法
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

欄位詳細資訊

DPI

public static final int DPI
指示每英吋點數為單位 (dpi) 的值。它實際上是轉換因子,dpi 乘以該轉換因子得到 dphi (100)。

另請參見:
常數欄位值

DPCM

public static final int DPCM
指示每厘米點數為單位 (dpcm) 的值。它實際上是轉換因子,dpcm 乘以該轉換因子得到 dphi (254)。

另請參見:
常數欄位值
建構子詳細資訊

ResolutionSyntax

public ResolutionSyntax(int crossFeedResolution,
                        int feedResolution,
                        int units)
根據給定項建構一個新的分辨率屬性。

參數:
crossFeedResolution - 反向進紙分辨率。
feedResolution - 進紙分辨率。
units - 單位轉換因子,即 DPIDPCM
拋出:
IllegalArgumentException - (未經檢查的異常)如果 crossFeedResolution < 1 或 feedResolution < 1 或 units < 1,則拋出該異常。
方法詳細資訊

getResolution

public int[] getResolution(int units)
獲取給定單位的此分辨率屬性的分辨率值。將該值捨入為最接近的整數。

參數:
units - 單位轉換因子,即 DPIDPCM
返回:
包含索引 0 處的反向進紙分辨率和索引 1 處的進紙分辨率的兩元素陣列。
拋出:
IllegalArgumentException - (未經檢查的異常)如果 units < 1,則拋出該異常。

getCrossFeedResolution

public int getCrossFeedResolution(int units)
返回給定單位的此分辨率屬性的反向進紙分辨率。將該值捨入為最接近的整數。

參數:
units - 單位轉換因子,即 DPIDPCM
返回:
反向進紙分辨率。
拋出:
IllegalArgumentException - (未經檢查的異常)如果 units < 1,則拋出該異常。

getFeedResolution

public int getFeedResolution(int units)
返回給定單位的此分辨率屬性的進紙分辨率。將該值捨入為最接近的整數。

參數:
units - 單位轉換因子,即 DPIDPCM
返回:
進紙分辨率。
拋出:
IllegalArgumentException - (未經檢查的異常)如果 units < 1,則拋出該異常。

toString

public String toString(int units,
                       String unitsName)
返回給定單位的此分辨率屬性的字元串版本。該字元串採用的形式是 "CxF U",其中 C 為反向進紙分辨率,F 為進紙分辨率,U 為單位名稱。將該值捨入為最接近的整數。

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

lessThanOrEquals

public boolean lessThanOrEquals(ResolutionSyntax other)
確定此分辨率屬性的值是否小於或等於給定分辨率屬性的值。如果以下條件都為 true,則為 true:

參數:
other - 與之比較的分辨率屬性。
返回:
如果此分辨率屬性小於或等於 other 分辨率屬性,則返回 True,否則返回 false。
拋出:
NullPointerException - (未經檢查的異常)如果 other 為 null,則拋出該異常。

equals

public boolean equals(Object object)
返回此分辨率屬性是否等效於傳入的物件。若要等效,以下所有條件都必須為 true:
  1. object 不為 null。
  2. object 是類別 ResolutionSyntax 的一個實例。
  3. 此屬性的反向進紙分辨率等於 object 的反向進紙分辨率。
  4. 此屬性的進紙分辨率等於 object 的進紙分辨率。

覆寫:
類別 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()
返回此分辨率屬性的字元串版本。此字元串採用的形式是 "CxF dphi",其中 C 為反向進紙分辨率,F 為進紙分辨率。使用內部單位 dphi 報告該值。

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

getCrossFeedResolutionDphi

protected int getCrossFeedResolutionDphi()
返回以 dphi 為單位的此分辨率屬性的反向進紙分辨率。(在子類別中使用。)

返回:
反向進紙分辨率。

getFeedResolutionDphi

protected int getFeedResolutionDphi()
返回以 dphi 為單位的此分辨率屬性的進紙分辨率。(在子類別中使用。)

返回:
進紙分辨率。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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