# Class Rectangle2D.Float

java.lang.Object
java.awt.geom.RectangularShape
java.awt.geom.Rectangle2D
java.awt.geom.Rectangle2D.Float

All Implemented Interfaces:
  `Shape, Serializable, Cloneable`

Enclosing class:
  `Rectangle2D`

public static class Rectangle2D.Float extends Rectangle2D implements Serializable
The `Float` class defines a rectangle specified in float coordinates.

Since:
  1.2
See Also:
  - Serialized Form

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class Rectangle2D

  `Rectangle2D.Double, Rectangle2D.Float`
  Modifier and Type
  Class
  Description
  `static class`
  `Rectangle2D.Double`
  The `Double` class defines a rectangle specified in double coordinates.
  `static class`
  `Rectangle2D.Float`
  The `Float` class defines a rectangle specified in float coordinates.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `float`
  `height`
  The height of this `Rectangle2D`.
  `float`
  `width`
  The width of this `Rectangle2D`.
  `float`
  `x`
  The X coordinate of this `Rectangle2D`.
  `float`
  `y`
  The Y coordinate of this `Rectangle2D`.

  ### Fields declared in class Rectangle2D

  `OUT_BOTTOM, OUT_LEFT, OUT_RIGHT, OUT_TOP`
  Modifier and Type
  Field
  Description
  `static final int`
  `OUT_BOTTOM`
  The bitmask that indicates that a point lies below this `Rectangle2D`.
  `static final int`
  `OUT_LEFT`
  The bitmask that indicates that a point lies to the left of this `Rectangle2D`.
  `static final int`
  `OUT_RIGHT`
  The bitmask that indicates that a point lies to the right of this `Rectangle2D`.
  `static final int`
  `OUT_TOP`
  The bitmask that indicates that a point lies above this `Rectangle2D`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Float()`
  Constructs a new `Rectangle2D`, initialized to location (0.0, 0.0) and size (0.0, 0.0).
  `Float(float x, float y, float w, float h)`
  Constructs and initializes a `Rectangle2D` from the specified `float` coordinates.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Rectangle2D`
  `createIntersection(Rectangle2D r)`
  Returns a new `Rectangle2D` object representing the intersection of this `Rectangle2D` with the specified `Rectangle2D`.
  `Rectangle2D`
  `createUnion(Rectangle2D r)`
  Returns a new `Rectangle2D` object representing the union of this `Rectangle2D` with the specified `Rectangle2D`.
  `Rectangle2D`
  `getBounds2D()`
  Returns a high precision and more accurate bounding box of the `Shape` than the `getBounds` method.
  `double`
  `getHeight()`
  Returns the height of the framing rectangle in `double` precision.
  `double`
  `getWidth()`
  Returns the width of the framing rectangle in `double` precision.
  `double`
  `getX()`
  Returns the X coordinate of the upper-left corner of the framing rectangle in `double` precision.
  `double`
  `getY()`
  Returns the Y coordinate of the upper-left corner of the framing rectangle in `double` precision.
  `boolean`
  `isEmpty()`
  Determines whether the `RectangularShape` is empty.
  `int`
  `outcode(double x, double y)`
  Determines where the specified coordinates lie with respect to this `Rectangle2D`.
  `void`
  `setRect(double x, double y, double w, double h)`
  Sets the location and size of this `Rectangle2D` to the specified `double` values.
  `void`
  `setRect(float x, float y, float w, float h)`
  Sets the location and size of this `Rectangle2D` to the specified `float` values.
  `void`
  `setRect(Rectangle2D r)`
  Sets this `Rectangle2D` to be the same as the specified `Rectangle2D`.
  `String`
  `toString()`
  Returns the `String` representation of this `Rectangle2D`.

  ### Methods declared in class Rectangle2D

  `add, add, add, contains, contains, equals, getPathIterator, getPathIterator, hashCode, intersect, intersects, intersectsLine, intersectsLine, outcode, setFrame, union`
  Modifier and Type
  Method
  Description
  `void`
  `add(double newx, double newy)`
  Adds a point, specified by the double precision arguments `newx` and `newy`, to this `Rectangle2D`.
  `void`
  `add(Point2D pt)`
  Adds the `Point2D` object `pt` to this `Rectangle2D`.
  `void`
  `add(Rectangle2D r)`
  Adds a `Rectangle2D` object to this `Rectangle2D`.
  `boolean`
  `contains(double x, double y)`
  Tests if the specified coordinates are inside the boundary of the `Shape`, as described by the definition of insideness.
  `boolean`
  `contains(double x, double y, double w, double h)`
  Tests if the interior of the `Shape` entirely contains the specified rectangular area.
  `boolean`
  `equals(Object obj)`
  Determines whether or not the specified `Object` is equal to this `Rectangle2D`.
  `PathIterator`
  `getPathIterator(AffineTransform at)`
  Returns an iteration object that defines the boundary of this `Rectangle2D`.
  `PathIterator`
  `getPathIterator(AffineTransform at, double flatness)`
  Returns an iteration object that defines the boundary of the flattened `Rectangle2D`.
  `int`
  `hashCode()`
  Returns the hashcode for this `Rectangle2D`.
  `static void`
  `intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)`
  Intersects the pair of specified source `Rectangle2D` objects and puts the result into the specified destination `Rectangle2D` object.
  `boolean`
  `intersects(double x, double y, double w, double h)`
  Tests if the interior of the `Shape` intersects the interior of a specified rectangular area.
  `boolean`
  `intersectsLine(double x1, double y1, double x2, double y2)`
  Tests if the specified line segment intersects the interior of this `Rectangle2D`.
  `boolean`
  `intersectsLine(Line2D l)`
  Tests if the specified line segment intersects the interior of this `Rectangle2D`.
  `int`
  `outcode(Point2D p)`
  Determines where the specified `Point2D` lies with respect to this `Rectangle2D`.
  `void`
  `setFrame(double x, double y, double w, double h)`
  Sets the location and size of the outer bounds of this `Rectangle2D` to the specified rectangular values.
  `static void`
  `union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)`
  Unions the pair of source `Rectangle2D` objects and puts the result into the specified destination `Rectangle2D` object.

  ### Methods declared in class RectangularShape

  `clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal`
  Modifier and Type
  Method
  Description
  `Object`
  `clone()`
  Creates a new object of the same class and with the same contents as this object.
  `boolean`
  `contains(Point2D p)`
  Tests if a specified `Point2D` is inside the boundary of the `Shape`, as described by the definition of insideness.
  `boolean`
  `contains(Rectangle2D r)`
  Tests if the interior of the `Shape` entirely contains the specified `Rectangle2D`.
  `Rectangle`
  `getBounds()`
  Returns an integer `Rectangle` that completely encloses the `Shape`.
  `double`
  `getCenterX()`
  Returns the X coordinate of the center of the framing rectangle of the `Shape` in `double` precision.
  `double`
  `getCenterY()`
  Returns the Y coordinate of the center of the framing rectangle of the `Shape` in `double` precision.
  `Rectangle2D`
  `getFrame()`
  Returns the framing `Rectangle2D` that defines the overall shape of this object.
  `double`
  `getMaxX()`
  Returns the largest X coordinate of the framing rectangle of the `Shape` in `double` precision.
  `double`
  `getMaxY()`
  Returns the largest Y coordinate of the framing rectangle of the `Shape` in `double` precision.
  `double`
  `getMinX()`
  Returns the smallest X coordinate of the framing rectangle of the `Shape` in `double` precision.
  `double`
  `getMinY()`
  Returns the smallest Y coordinate of the framing rectangle of the `Shape` in `double` precision.
  `boolean`
  `intersects(Rectangle2D r)`
  Tests if the interior of the `Shape` intersects the interior of a specified `Rectangle2D`.
  `void`
  `setFrame(Point2D loc, Dimension2D size)`
  Sets the location and size of the framing rectangle of this `Shape` to the specified `Point2D` and `Dimension2D`, respectively.
  `void`
  `setFrame(Rectangle2D r)`
  Sets the framing rectangle of this `Shape` to be the specified `Rectangle2D`.
  `void`
  `setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY)`
  Sets the framing rectangle of this `Shape` based on the specified center point coordinates and corner point coordinates.
  `void`
  `setFrameFromCenter(Point2D center, Point2D corner)`
  Sets the framing rectangle of this `Shape` based on a specified center `Point2D` and corner `Point2D`.
  `void`
  `setFrameFromDiagonal(double x1, double y1, double x2, double y2)`
  Sets the diagonal of the framing rectangle of this `Shape` based on the two specified coordinates.
  `void`
  `setFrameFromDiagonal(Point2D p1, Point2D p2)`
  Sets the diagonal of the framing rectangle of this `Shape` based on two specified `Point2D` objects.

  ### Methods declared in class Object

  `finalize, getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `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`.
  `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.
  `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.

- ## Field Details

  - ### x

    public float x
    The X coordinate of this `Rectangle2D`.
    Since:
      1.2

  - ### y

    public float y
    The Y coordinate of this `Rectangle2D`.
    Since:
      1.2

  - ### width

    public float width
    The width of this `Rectangle2D`.
    Since:
      1.2

  - ### height

    public float height
    The height of this `Rectangle2D`.
    Since:
      1.2

- ## Constructor Details

  - ### Float

    public Float()
    Constructs a new `Rectangle2D`, initialized to location (0.0, 0.0) and size (0.0, 0.0).
    Since:
      1.2

  - ### Float

    public Float(float x, float y, float w, float h)
    Constructs and initializes a `Rectangle2D` from the specified `float` coordinates.
    Parameters:
      `x` - the X coordinate of the upper-left corner of the newly constructed `Rectangle2D`
      `y` - the Y coordinate of the upper-left corner of the newly constructed `Rectangle2D`
      `w` - the width of the newly constructed `Rectangle2D`
      `h` - the height of the newly constructed `Rectangle2D`
    Since:
      1.2

- ## Method Details

  - ### getX

    public double getX()
    Returns the X coordinate of the upper-left corner of the framing rectangle in `double` precision.
    Specified by:
      `getX` in class `RectangularShape`
    Returns:
      the X coordinate of the upper-left corner of the framing rectangle.
    Since:
      1.2

  - ### getY

    public double getY()
    Returns the Y coordinate of the upper-left corner of the framing rectangle in `double` precision.
    Specified by:
      `getY` in class `RectangularShape`
    Returns:
      the Y coordinate of the upper-left corner of the framing rectangle.
    Since:
      1.2

  - ### getWidth

    public double getWidth()
    Returns the width of the framing rectangle in `double` precision.
    Specified by:
      `getWidth` in class `RectangularShape`
    Returns:
      the width of the framing rectangle.
    Since:
      1.2

  - ### getHeight

    public double getHeight()
    Returns the height of the framing rectangle in `double` precision.
    Specified by:
      `getHeight` in class `RectangularShape`
    Returns:
      the height of the framing rectangle.
    Since:
      1.2

  - ### isEmpty

    public boolean isEmpty()
    Determines whether the `RectangularShape` is empty. When the `RectangularShape` is empty, it encloses no area.
    Specified by:
      `isEmpty` in class `RectangularShape`
    Returns:
      `true` if the `RectangularShape` is empty; `false` otherwise.
    Since:
      1.2

  - ### setRect

    public void setRect(float x, float y, float w, float h)
    Sets the location and size of this `Rectangle2D` to the specified `float` values.
    Parameters:
      `x` - the X coordinate of the upper-left corner of this `Rectangle2D`
      `y` - the Y coordinate of the upper-left corner of this `Rectangle2D`
      `w` - the width of this `Rectangle2D`
      `h` - the height of this `Rectangle2D`
    Since:
      1.2

  - ### setRect

    public void setRect(double x, double y, double w, double h)
    Sets the location and size of this `Rectangle2D` to the specified `double` values.
    Specified by:
      `setRect` in class `Rectangle2D`
    Parameters:
      `x` - the X coordinate of the upper-left corner of this `Rectangle2D`
      `y` - the Y coordinate of the upper-left corner of this `Rectangle2D`
      `w` - the width of this `Rectangle2D`
      `h` - the height of this `Rectangle2D`
    Since:
      1.2

  - ### setRect

    public void setRect(Rectangle2D r)
    Sets this `Rectangle2D` to be the same as the specified `Rectangle2D`.
    Overrides:
      `setRect` in class `Rectangle2D`
    Parameters:
      `r` - the specified `Rectangle2D`
    Since:
      1.2

  - ### outcode

    public int outcode(double x, double y)
    Determines where the specified coordinates lie with respect to this `Rectangle2D`. This method computes a binary OR of the appropriate mask values indicating, for each side of this `Rectangle2D`, whether or not the specified coordinates are on the same side of the edge as the rest of this `Rectangle2D`.
    Specified by:
      `outcode` in class `Rectangle2D`
    Parameters:
      `x` - the specified X coordinate
      `y` - the specified Y coordinate
    Returns:
      the logical OR of all appropriate out codes.
    Since:
      1.2
    See Also:
      - `Rectangle2D.OUT_LEFT`
      - `Rectangle2D.OUT_TOP`
      - `Rectangle2D.OUT_RIGHT`
      - `Rectangle2D.OUT_BOTTOM`

  - ### getBounds2D

    public Rectangle2D getBounds2D()
    Returns a high precision and more accurate bounding box of the `Shape` than the `getBounds` method. Note that there is no guarantee that the returned `Rectangle2D` is the smallest bounding box that encloses the `Shape`, only that the `Shape` lies entirely within the indicated `Rectangle2D`. The bounding box returned by this method is usually tighter than that returned by the `getBounds` method and never fails due to overflow problems since the return value can be an instance of the `Rectangle2D` that uses double precision values to store the dimensions.

    Note that the definition of insideness can lead to situations where points on the defining outline of the `shape` may not be considered contained in the returned `bounds` object, but only in cases where those points are also not considered contained in the original `shape`.

    If a `point` is inside the `shape` according to the `contains(point)` method, then it must be inside the returned `Rectangle2D` bounds object according to the `contains(point)` method of the `bounds`. Specifically:

    `shape.contains(p)` requires `bounds.contains(p)`

    If a `point` is not inside the `shape`, then it might still be contained in the `bounds` object:

    `bounds.contains(p)` does not imply `shape.contains(p)`

    Specified by:
      `getBounds2D` in interface `Shape`
    Overrides:
      `getBounds2D` in class `Rectangle2D`
    Returns:
      an instance of `Rectangle2D` that is a high-precision bounding box of the `Shape`.
    Since:
      1.2
    See Also:
      - `Shape.getBounds()`

  - ### createIntersection

    public Rectangle2D createIntersection(Rectangle2D r)
    Returns a new `Rectangle2D` object representing the intersection of this `Rectangle2D` with the specified `Rectangle2D`.
    Specified by:
      `createIntersection` in class `Rectangle2D`
    Parameters:
      `r` - the `Rectangle2D` to be intersected with this `Rectangle2D`
    Returns:
      the largest `Rectangle2D` contained in both the specified `Rectangle2D` and in this `Rectangle2D`.
    Since:
      1.2

  - ### createUnion

    public Rectangle2D createUnion(Rectangle2D r)
    Returns a new `Rectangle2D` object representing the union of this `Rectangle2D` with the specified `Rectangle2D`.
    Specified by:
      `createUnion` in class `Rectangle2D`
    Parameters:
      `r` - the `Rectangle2D` to be combined with this `Rectangle2D`
    Returns:
      the smallest `Rectangle2D` containing both the specified `Rectangle2D` and this `Rectangle2D`.
    Since:
      1.2

  - ### toString

    public String toString()
    Returns the `String` representation of this `Rectangle2D`.
    Overrides:
      `toString` in class `Object`
    Returns:
      a `String` representing this `Rectangle2D`.
    Since:
      1.2