# Class Paper

java.lang.Object
java.awt.print.Paper

All Implemented Interfaces:
  `Cloneable`

public class Paper extends Object implements Cloneable
The `Paper` class describes the physical characteristics of a piece of paper.

When creating a `Paper` object, it is the application's responsibility to ensure that the paper size and the imageable area are compatible. For example, if the paper size is changed from 11 x 17 to 8.5 x 11, the application might need to reduce the imageable area so that whatever is printed fits on the page.

See Also:
  - `setSize(double, double)`
  - `setImageableArea(double, double, double, double)`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Paper()`
  Creates a letter sized piece of paper with one inch margins.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  Creates a copy of this `Paper` with the same contents as this `Paper`.
  `double`
  `getHeight()`
  Returns the height of the page in 1/72nds of an inch.
  `double`
  `getImageableHeight()`
  Returns the height of this `Paper` object's imageable area.
  `double`
  `getImageableWidth()`
  Returns the width of this `Paper` object's imageable area.
  `double`
  `getImageableX()`
  Returns the x coordinate of the upper-left corner of this `Paper` object's imageable area.
  `double`
  `getImageableY()`
  Returns the y coordinate of the upper-left corner of this `Paper` object's imageable area.
  `double`
  `getWidth()`
  Returns the width of the page in 1/72nds of an inch.
  `void`
  `setImageableArea(double x, double y, double width, double height)`
  Sets the imageable area of this `Paper`.
  `void`
  `setSize(double width, double height)`
  Sets the width and height of this `Paper` object, which represents the properties of the page onto which printing occurs.

  ### Methods declared in class Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `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

  - ### Paper

    public Paper()
    Creates a letter sized piece of paper with one inch margins.

- ## Method Details

  - ### clone

    public Object clone()
    Creates a copy of this `Paper` with the same contents as this `Paper`.
    Overrides:
      `clone` in class `Object`
    Returns:
      a copy of this `Paper`.
    See Also:
      - `Cloneable`

  - ### getHeight

    public double getHeight()
    Returns the height of the page in 1/72nds of an inch.
    Returns:
      the height of the page described by this `Paper`.

  - ### setSize

    public void setSize(double width, double height)
    Sets the width and height of this `Paper` object, which represents the properties of the page onto which printing occurs. The dimensions are supplied in 1/72nds of an inch.
    Parameters:
      `width` - the value to which to set this `Paper` object's width
      `height` - the value to which to set this `Paper` object's height

  - ### getWidth

    public double getWidth()
    Returns the width of the page in 1/72nds of an inch.
    Returns:
      the width of the page described by this `Paper`.

  - ### setImageableArea

    public void setImageableArea(double x, double y, double width, double height)
    Sets the imageable area of this `Paper`. The imageable area is the area on the page in which printing occurs.
    Parameters:
      `x` - the X coordinate to which to set the upper-left corner of the imageable area of this `Paper`
      `y` - the Y coordinate to which to set the upper-left corner of the imageable area of this `Paper`
      `width` - the value to which to set the width of the imageable area of this `Paper`
      `height` - the value to which to set the height of the imageable area of this `Paper`

  - ### getImageableX

    public double getImageableX()
    Returns the x coordinate of the upper-left corner of this `Paper` object's imageable area.
    Returns:
      the x coordinate of the imageable area.

  - ### getImageableY

    public double getImageableY()
    Returns the y coordinate of the upper-left corner of this `Paper` object's imageable area.
    Returns:
      the y coordinate of the imageable area.

  - ### getImageableWidth

    public double getImageableWidth()
    Returns the width of this `Paper` object's imageable area.
    Returns:
      the width of the imageable area.

  - ### getImageableHeight

    public double getImageableHeight()
    Returns the height of this `Paper` object's imageable area.
    Returns:
      the height of the imageable area.