Class 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 declared in class java.awt.geom.Line2D

Line2D.Double, Line2D.Float

Field Summary

Fields
Modifier and Type Field Description
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 Description
Double()

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

Double​(double x1, double y1, double x2, double y2)

Constructs and initializes a Line2D from the specified coordinates.

Double​(Point2D p1, Point2D p2)

Constructs and initializes a Line2D from the specified Point2D objects.

Method Summary

All Methods Instance Methods Concrete Methods
Modifier and Type Method Description
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 declared in 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 declared in 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

Double

public Double()

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

Since:
1.2

Double

public 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

Double

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

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
Returns:
an instance of Rectangle2D that is a high-precision bounding box of the Shape.
Since:
1.2
See Also:
Shape.getBounds()