PrintJob (Java SE 26 & JDK 26)
Description: declaration: module: java.desktop, package: java.awt, class: PrintJob
Keywords: java.awt.PrintJob class

# Class PrintJob

java.lang.Object
java.awt.PrintJob

public abstract class PrintJob extends Object
An abstract class which initiates and executes a print job. It provides access to a print graphics object which renders to an appropriate print device.

See Also:
  - `Toolkit.getPrintJob(Frame, String, Properties)`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `PrintJob()`
  Constructor for subclasses to call.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `abstract void`
  `end()`
  Ends the print job and does any necessary cleanup.
  `void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization has been deprecated for removal.
  `abstract Graphics`
  `getGraphics()`
  Gets a Graphics object that will draw to the next page.
  `abstract Dimension`
  `getPageDimension()`
  Returns the dimensions of the page in pixels.
  `abstract int`
  `getPageResolution()`
  Returns the resolution of the page in pixels per inch.
  `abstract boolean`
  `lastPageFirst()`
  Returns true if the last page will be printed first.

  ### Methods declared in class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### PrintJob

    protected PrintJob()
    Constructor for subclasses to call.

- ## Method Details

  - ### getGraphics

    public abstract Graphics getGraphics()
    Gets a Graphics object that will draw to the next page. The page is sent to the printer when the graphics object is disposed. This graphics object will also implement the PrintGraphics interface. If `PrintJob.end()` has been called, this method will return `null`.
    Returns:
      the graphics context for printing the next page
    See Also:
      - `PrintGraphics`

  - ### getPageDimension

    public abstract Dimension getPageDimension()
    Returns the dimensions of the page in pixels. The resolution of the page is chosen so that it is similar to the screen resolution.
    Returns:
      the page dimension

  - ### getPageResolution

    public abstract int getPageResolution()
    Returns the resolution of the page in pixels per inch. Note that this doesn't have to correspond to the physical resolution of the printer.
    Returns:
      the page resolution

  - ### lastPageFirst

    public abstract boolean lastPageFirst()
    Returns true if the last page will be printed first.
    Returns:
      `true` if the last page will be printed first; otherwise `false`

  - ### end

    public abstract void end()
    Ends the print job and does any necessary cleanup.

  - ### finalize

    @Deprecated(since="9", forRemoval=true) public void finalize()
    Deprecated, for removal: This API element is subject to removal in a future version.
    Finalization has been deprecated for removal. See `Object.finalize()` for background information and details about migration options.
    Ends this print job once it is no longer referenced.
    Overrides:
      `finalize` in class `Object`
    See Also:
      - `end()`