- 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 declared in class java.awt.geom.Line2D
Line2D.Double, Line2D.Float
-
-
Field Summary
Fields Modifier and Type Field Description doublex1The X coordinate of the start point of the line segment.doublex2The X coordinate of the end point of the line segment.doubley1The Y coordinate of the start point of the line segment.doubley2The 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 aLine2Dfrom the specified coordinates.Double(Point2D p1, Point2D p2)Constructs and initializes aLine2Dfrom the specifiedPoint2Dobjects.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Rectangle2DgetBounds2D()Returns a high precision and more accurate bounding box of theShapethan thegetBoundsmethod.Point2DgetP1()Returns the startPoint2Dof thisLine2D.Point2DgetP2()Returns the endPoint2Dof thisLine2D.doublegetX1()Returns the X coordinate of the start point in double precision.doublegetX2()Returns the X coordinate of the end point in double precision.doublegetY1()Returns the Y coordinate of the start point in double precision.doublegetY2()Returns the Y coordinate of the end point in double precision.voidsetLine(double x1, double y1, double x2, double y2)Sets the location of the end points of thisLine2Dto 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
-
-
-
-
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 aLine2Dfrom the specified coordinates.- Parameters:
x1- the X coordinate of the start pointy1- the Y coordinate of the start pointx2- the X coordinate of the end pointy2- the Y coordinate of the end point- Since:
- 1.2
-
-
Method Detail
-
getX1
public double getX1()
Returns the X coordinate of the start point in double precision.
-
getY1
public double getY1()
Returns the Y coordinate of the start point in double precision.
-
getP1
public Point2D getP1()
Returns the startPoint2Dof thisLine2D.
-
getX2
public double getX2()
Returns the X coordinate of the end point in double precision.
-
getY2
public double getY2()
Returns the Y coordinate of the end point in double precision.
-
getP2
public Point2D getP2()
Returns the endPoint2Dof thisLine2D.
-
setLine
public void setLine(double x1, double y1, double x2, double y2)Sets the location of the end points of thisLine2Dto the specified double coordinates.
-
getBounds2D
public Rectangle2D getBounds2D()
Returns a high precision and more accurate bounding box of theShapethan thegetBoundsmethod. Note that there is no guarantee that the returnedRectangle2Dis the smallest bounding box that encloses theShape, only that theShapelies entirely within the indicatedRectangle2D. The bounding box returned by this method is usually tighter than that returned by thegetBoundsmethod and never fails due to overflow problems since the return value can be an instance of theRectangle2Dthat 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
shapemay not be considered contained in the returnedboundsobject, but only in cases where those points are also not considered contained in the originalshape.If a
pointis inside theshapeaccording to thecontains(point)method, then it must be inside the returnedRectangle2Dbounds object according to thecontains(point)method of thebounds. Specifically:shape.contains(p)requiresbounds.contains(p)If a
pointis not inside theshape, then it might still be contained in theboundsobject:bounds.contains(p)does not implyshape.contains(p)- Specified by:
getBounds2Din interfaceShape- Returns:
- an instance of
Rectangle2Dthat is a high-precision bounding box of theShape. - Since:
- 1.2
- See Also:
Shape.getBounds()
-
-