java.awt.geom

## Class Line2D.Double

- java.lang.Object
- - java.awt.geom.Line2D
  - - java.awt.geom.Line2D.Double

All Implemented Interfaces:
  Shape, Serializable, Cloneable

Enclosing class:
  Line2D

    public static class Line2D.Double
    extends Line2D
    implements Serializable

A line segment specified with double coordinates.

Since:
  1.2
See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from class java.awt.geom.Line2D

`Line2D.Double, Line2D.Float`

### Field Summary

Fields
`double` `x1` The X coordinate of the start point of the line segment.
`double` `x2` The X coordinate of the end point of the line segment.
`double` `y1` The Y coordinate of the start point of the line segment.
`double` `y2` The Y coordinate of the end point of the line segment.

### Constructor Summary

Constructors
Constructor and Description
`Line2D.Double()` Constructs and initializes a Line with coordinates (0, 0) -> (0, 0).
`Line2D.Double(double x1, double y1, double x2, double y2)` Constructs and initializes a `Line2D` from the specified coordinates.
`Line2D.Double(Point2D p1, Point2D p2)` Constructs and initializes a `Line2D` from the specified `Point2D` objects.

### Method Summary

Methods
`Rectangle2D` `getBounds2D()` Returns a high precision and more accurate bounding box of the `Shape` than the `getBounds` method.
`Point2D` `getP1()` Returns the start `Point2D` of this `Line2D`.
`Point2D` `getP2()` Returns the end `Point2D` of this `Line2D`.
`double` `getX1()` Returns the X coordinate of the start point in double precision.
`double` `getX2()` Returns the X coordinate of the end point in double precision.
`double` `getY1()` Returns the Y coordinate of the start point in double precision.
`double` `getY2()` Returns the Y coordinate of the end point in double precision.
`void` `setLine(double x1, double y1, double x2, double y2)` Sets the location of the end points of this `Line2D` to the specified double coordinates.

### Methods inherited from class java.awt.geom.Line2D

`clone, contains, contains, contains, contains, getBounds, getPathIterator, getPathIterator, intersects, intersects, intersectsLine, intersectsLine, linesIntersect, ptLineDist, ptLineDist, ptLineDist, ptLineDistSq, ptLineDistSq, ptLineDistSq, ptSegDist, ptSegDist, ptSegDist, ptSegDistSq, ptSegDistSq, ptSegDistSq, relativeCCW, relativeCCW, relativeCCW, setLine, setLine`

### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### x1

    public double x1

The X coordinate of the start point of the line segment.

Since:
  1.2

#### y1

    public double y1

The Y coordinate of the start point of the line segment.

Since:
  1.2

#### x2

    public double x2

The X coordinate of the end point of the line segment.

Since:
  1.2

#### y2

    public double y2

The Y coordinate of the end point of the line segment.

Since:
  1.2

### Constructor Detail

#### Line2D.Double

    public Line2D.Double()

Constructs and initializes a Line with coordinates (0, 0) -> (0, 0).

Since:
  1.2

#### Line2D.Double

    public Line2D.Double(double x1,
                 double y1,
                 double x2,
                 double y2)

Constructs and initializes a `Line2D` from the specified coordinates.

Parameters:
  `x1` - the X coordinate of the start point
  `y1` - the Y coordinate of the start point
  `x2` - the X coordinate of the end point
  `y2` - the Y coordinate of the end point
Since:
  1.2

#### Line2D.Double

    public Line2D.Double(Point2D p1,
                 Point2D p2)

Constructs and initializes a `Line2D` from the specified `Point2D` objects.

Parameters:
  `p1` - the start `Point2D` of this line segment
  `p2` - the end `Point2D` of this line segment
Since:
  1.2

### Method Detail

#### getX1

    public double getX1()

Returns the X coordinate of the start point in double precision.

Specified by:
  `getX1` in class `Line2D`
Returns:
  the X coordinate of the start point of this `Line2D` object.
Since:
  1.2

#### getY1

    public double getY1()

Returns the Y coordinate of the start point in double precision.

Specified by:
  `getY1` in class `Line2D`
Returns:
  the Y coordinate of the start point of this `Line2D` object.
Since:
  1.2

#### getP1

    public Point2D getP1()

Returns the start `Point2D` of this `Line2D`.

Specified by:
  `getP1` in class `Line2D`
Returns:
  the start `Point2D` of this `Line2D`.
Since:
  1.2

#### getX2

    public double getX2()

Returns the X coordinate of the end point in double precision.

Specified by:
  `getX2` in class `Line2D`
Returns:
  the X coordinate of the end point of this `Line2D` object.
Since:
  1.2

#### getY2

    public double getY2()

Returns the Y coordinate of the end point in double precision.

Specified by:
  `getY2` in class `Line2D`
Returns:
  the Y coordinate of the end point of this `Line2D` object.
Since:
  1.2

#### getP2

    public Point2D getP2()

Returns the end `Point2D` of this `Line2D`.

Specified by:
  `getP2` in class `Line2D`
Returns:
  the end `Point2D` of this `Line2D`.
Since:
  1.2

#### setLine

    public void setLine(double x1,
               double y1,
               double x2,
               double y2)

Sets the location of the end points of this `Line2D` to the specified double coordinates.

Specified by:
  `setLine` in class `Line2D`
Parameters:
  `x1` - the X coordinate of the start point
  `y1` - the Y coordinate of the start point
  `x2` - the X coordinate of the end point
  `y2` - the Y coordinate of the end point
Since:
  1.2

#### 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.

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

Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.