java.lang.Objectjava.awt.print.PrinterJob
public abstract class PrinterJob
The PrinterJob class is the principal class that controls printing. An application calls methods in this class to set up a job, optionally to invoke a print dialog with the user, and then to print the pages of the job.
Constructor Summary | |
---|---|
PrinterJob
() A PrinterJob object should be created using the static getPrinterJob method. |
Method Summary | |
---|---|
abstract void |
cancel
() Cancels a print job that is in progress. |
PageFormat |
defaultPage
() Creates a new PageFormat instance and sets it to a default size and orientation. |
abstract PageFormat |
defaultPage
(
PageFormat
page) Clones the PageFormat argument and alters the clone to describe a default page size and orientation. |
abstract int |
getCopies
() Gets the number of copies to be printed. |
abstract String |
getJobName
() Gets the name of the document to be printed. |
PageFormat |
getPageFormat
(
PrintRequestAttributeSet
attributes) Calculates a PageFormat with values consistent with those supported by the current PrintService for this job (ie the value returned by getPrintService()) and media, printable area and orientation contained in attributes. |
static PrinterJob |
getPrinterJob
() Creates and returns a PrinterJob which is initially associated with the default printer. |
PrintService |
getPrintService
() Returns the service (printer) for this printer job. |
abstract String |
getUserName
() Gets the name of the printing user. |
abstract boolean |
isCancelled
() Returns true if a print job is in progress, but is going to be cancelled at the next opportunity; otherwise returns false. |
static PrintService [] |
lookupPrintServices
() A convenience method which looks up 2D print services. |
static StreamPrintServiceFactory [] |
lookupStreamPrintServices
(
String
mimeType) A convenience method which locates factories for stream print services which can image 2D graphics. |
abstract PageFormat |
pageDialog
(
PageFormat
page) Displays a dialog that allows modification of a PageFormat instance. |
PageFormat |
pageDialog
(
PrintRequestAttributeSet
attributes) A convenience method which displays a cross-platform page setup dialog. |
abstract void |
print
() Prints a set of pages. |
void |
print
(
PrintRequestAttributeSet
attributes) Prints a set of pages using the settings in the attribute set. |
abstract boolean |
printDialog
() Presents a dialog to the user for changing the properties of the print job. |
boolean |
printDialog
(
PrintRequestAttributeSet
attributes) A convenience method which displays a cross-platform print dialog for all services which are capable of printing 2D graphics using the Pageable interface. |
abstract void |
setCopies
(int copies) Sets the number of copies to be printed. |
abstract void |
setJobName
(
String
jobName) Sets the name of the document to be printed. |
abstract void |
setPageable
(
Pageable
document) Queries document for the number of pages and the PageFormat and Printable for each page held in the Pageable instance, document. |
abstract void |
setPrintable
(
Printable
painter) Calls painter to render the pages. |
abstract void |
setPrintable
(
Printable
painter,
PageFormat
format) Calls painter to render the pages in the specified format. |
void |
setPrintService
(
PrintService
service) Associate this PrinterJob with a new PrintService. |
abstract PageFormat |
validatePage
(
PageFormat
page) Returns the clone of page with its settings adjusted to be compatible with the current printer of this PrinterJob. |
Methods inherited from class java.lang. Object |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
Constructor Detail |
---|
public PrinterJob()
Method Detail |
---|
public static PrinterJob getPrinterJob()
public static PrintService[] lookupPrintServices()
public static StreamPrintServiceFactory[] lookupStreamPrintServices(String mimeType)
FileOutputStream outstream; StreamPrintService psPrinter; String psMimeType = "application/postscript"; StreamPrintServiceFactory[] factories = PrinterJob.lookupStreamPrintServices(psMimeType); if (factories.length > 0) { try { outstream = new File("out.ps"); psPrinter = factories[0].getPrintService(fos); // psPrinter can now be set as the service on a PrinterJob } catch (FileNotFoundException e) { } }Services returned from this method may be installed on PrinterJob instances which support print services. Calling this method is equivalent to calling StreamPrintServiceFactory.lookupStreamPrintServiceFactories() and specifying a Pageable DocFlavor.
public PrintService getPrintService()
public void setPrintService(PrintService service) throws PrinterException
public abstract void setPrintable(Printable painter)
public abstract void setPrintable(Printable painter, PageFormat format)
public abstract void setPageable(Pageable document) throws NullPointerException
public abstract boolean printDialog() throws HeadlessException
PrinterJob implementations which can use PrintService's will update the PrintService for this PrinterJob to reflect the new service selected by the user.
public boolean printDialog(PrintRequestAttributeSet attributes) throws HeadlessException
The attributes parameter on input will reflect the applications required initial selections in the user dialog. Attributes not specified display using the default for the service. On return it will reflect the user's choices. Selections may be updated by the implementation to be consistent with the supported values for the currently selected print service.
As the user scrolls to a new print service selection, the values copied are based on the settings for the previous service, together with any user changes. The values are not based on the original settings supplied by the client.
With the exception of selected printer, the PrinterJob state is not updated to reflect the user's changes. For the selections to affect a printer job, the attributes must be specified in the call to the print(PrintRequestAttributeSet) method. If using the Pageable interface, clients which intend to use media selected by the user must create a PageFormat derived from the user's selections. If the user cancels the dialog, the attributes will not reflect any changes made by the user.
public abstract PageFormat pageDialog(PageFormat page) throws HeadlessException
public PageFormat pageDialog(PrintRequestAttributeSet attributes) throws HeadlessException
The attributes parameter on input will reflect the client's required initial selections in the user dialog. Attributes which are not specified display using the default for the service. On return it will reflect the user's choices. Selections may be updated by the implementation to be consistent with the supported values for the currently selected print service.
The return value will be a PageFormat equivalent to the selections in the PrintRequestAttributeSet. If the user cancels the dialog, the attributes will not reflect any changes made by the user, and the return value will be null.
public abstract PageFormat defaultPage(PageFormat page)
public PageFormat defaultPage()
public PageFormat getPageFormat(PrintRequestAttributeSet attributes)
Calling this method does not update the job. It is useful for clients that have a set of attributes obtained from printDialog(PrintRequestAttributeSet attributes) and need a PageFormat to print a Pageable object.
public abstract PageFormat validatePage(PageFormat page)
public abstract void print() throws PrinterException
public void print(PrintRequestAttributeSet attributes) throws PrinterException
Note that some attributes may be set directly on the PrinterJob by equivalent method calls, (for example), copies: setcopies(int), job name: setJobName(String) and specifying media size and orientation though the PageFormat object.
If a supported attribute-value is specified in this attribute set, it will take precedence over the API settings for this print() operation only. The following behaviour is specified for PageFormat: If a client uses the Printable interface, then the attributes parameter to this method is examined for attributes which specify media (by size), orientation, and imageable area, and those are used to construct a new PageFormat which is passed to the Printable object's print() method. See Printable for an explanation of the required behaviour of a Printable to ensure optimal printing via PrinterJob. For clients of the Pageable interface, the PageFormat will always be as supplied by that interface, on a per page basis.
These behaviours allow an application to directly pass the user settings returned from printDialog(PrintRequestAttributeSet attributes to this print() method.
public abstract void setCopies(int copies)
public abstract int getCopies()
public abstract String getUserName()
public abstract void setJobName(String jobName)
public abstract String getJobName()
public abstract void cancel()
public abstract boolean isCancelled()