JavaTM 2 Platform
Standard Ed. 6

javax.print
介面 DocPrintJob

所有已知子介面:
CancelablePrintJob, MultiDocPrintJob

public interface DocPrintJob

此介面表示了一個可使用作業屬性集列印指定文檔的列印作業。可從 PrintService 獲得一個實作了此介面的物件。


方法摘要
 void addPrintJobAttributeListener(PrintJobAttributeListener listener, PrintJobAttributeSet attributes)
          為指定屬性中的更改註冊一個偵聽器。
 void addPrintJobListener(PrintJobListener listener)
          為此 PrintJob 執行期間所出現的事件註冊一個偵聽器。
 PrintJobAttributeSet getAttributes()
          獲取此 PrintJob 的列印屬性集。
 PrintService getPrintService()
          確定此 PrintJob 物件所綁定到的 PrintService 物件。
 void print(Doc doc, PrintRequestAttributeSet attributes)
          使用指定的作業屬性列印文檔。
 void removePrintJobAttributeListener(PrintJobAttributeListener listener)
          移除此 PrintJob 的屬性偵聽器。
 void removePrintJobListener(PrintJobListener listener)
          移除此 PrintJob 的偵聽器。
 

方法詳細資訊

getPrintService

PrintService getPrintService()
確定此 PrintJob 物件所綁定到的 PrintService 物件。

返回:
PrintService 物件。

getAttributes

PrintJobAttributeSet getAttributes()
獲取此 PrintJob 的列印屬性集。返回的屬性集物件是不可修改的。返回的屬性集物件是調用 getAttributes() 方法時此 PrintJob 的屬性集的一個“快照”;也就是說,如果以後此 PrintJob 屬性集的內容更改了,則不更新返回的屬性集物件的內容。要檢測屬性值的更改,可再次調用 getAttributes() 並將新的屬性集與以前的屬性集進行比較;或者可為 PrintJob 事件註冊一個偵聽器。返回值可以是一個空集合,但不應為 null。

返回:
PrintJob 屬性

addPrintJobListener

void addPrintJobListener(PrintJobListener listener)
為此 PrintJob 執行期間所出現的事件註冊一個偵聽器。如果 listener 為 null,則不會拋出異常,並且不執行任何操作。如果已註冊了偵聽器,則會再次註冊它。

參數:
listener - 實作偵聽器介面的物件
另請參見:
removePrintJobListener(javax.print.event.PrintJobListener)

removePrintJobListener

void removePrintJobListener(PrintJobListener listener)
移除此 PrintJob 的偵聽器。如果參數所指定的偵聽器尚未添加到此元件,則此方法不起作用,也不拋出異常。如果 listener 為 null,則不會拋出異常,並且不執行任何操作。如果多次註冊了某個偵聽器,則只移除其中一個註冊記錄。

參數:
listener - 實作偵聽器介面的物件
另請參見:
addPrintJobListener(javax.print.event.PrintJobListener)

addPrintJobAttributeListener

void addPrintJobAttributeListener(PrintJobAttributeListener listener,
                                  PrintJobAttributeSet attributes)
為指定屬性中的更改註冊一個偵聽器。如果 listener 為 null,則不會拋出異常,並且不執行任何操作。要確定此作業可能報告的屬性更新,客戶端可以調用 getAttributes() 並標識所關注的和可能報告給偵聽器的子集。預期更新有關指定作業屬性更改的客戶端應該驗證該屬性是否在該屬性集中,但是只有確實更改了屬性並且作業檢測到該更改時才會進行更新。另外更新還可能受到作業批處理的影響。為了最大限度地降低 PrintJob 處理中的開銷,建議僅對可能更改的屬性子集進行偵聽。如果指定的屬性集是空集合,則不向偵聽器報告任何屬性更新。如果屬性集為 null,這就意味著要偵聽該作業支持的所有動態屬性。如果某個作業無法報告任意屬性更新,那麼這就可能導致沒有更新通知。 如果已註冊了偵聽器,則會再次註冊它。

參數:
listener - 實作偵聽器介面的物件
attributes - 要偵聽的屬性,如果為 null 則表示由作業確定的所有可能更改的屬性。
另請參見:
removePrintJobAttributeListener(javax.print.event.PrintJobAttributeListener)

removePrintJobAttributeListener

void removePrintJobAttributeListener(PrintJobAttributeListener listener)
移除此 PrintJob 的屬性偵聽器。如果參數所指定的偵聽器尚未添加到此元件,則此方法不起作用,也不拋出異常。如果 listener 為 null,則不會拋出異常,並且不執行任何操作。如果多次註冊了某個偵聽器,即使是為不同的屬性集註冊,也不保證會移除哪個偵聽器。

參數:
listener - 實作偵聽器介面的物件
另請參見:
addPrintJobAttributeListener(javax.print.event.PrintJobAttributeListener, javax.print.attribute.PrintJobAttributeSet)

print

void print(Doc doc,
           PrintRequestAttributeSet attributes)
           throws PrintException
使用指定的作業屬性列印文檔。對於給定的 PrintJob,只應該調用此方法一次。再次調用該方法不會導致將新的作業後台列印到印表機。服務實作將定義用於服務中斷和恢復的策略。當 print 方法返回時,列印工作可能尚未完成,因為可在不同的執行緒中非同步進行列印工作。希望監視列印成功與否的應用程序客戶端應該註冊 PrintJobListener。

PrintService 實作應該關閉它們從客戶端 doc 所獲取的所有列印資料串流(即 Reader 或 InputStream 實作)。可靠的客戶端可能還希望對此進行驗證。如果無法列印 DocFlavor,則始終會產生異常。

參數:
doc - 要列印的文檔。如果必須是一個 flavor,則此 PrintJob 必須支持它。
attributes - 應用到此 PrintJob 的作業屬性。如果此參數為 null,則使用預設屬性。
拋出:
PrintException - 該異常可能會額外實作一個介面,該介面更精確地描述了下列異常的原因
  • FlavorException。如果該文檔具有此 PrintJob 不支持的 flavor。
  • AttributeException。如果應用到此 PrintJob 的一個或多個屬性無效。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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