public static class Line2D.Double extends Line2D implements Serializable
Line2D.Double, Line2D.Float| Modifier and Type | Field and Description | 
|---|---|
| double | x1The X coordinate of the start point of the line segment. | 
| double | x2The X coordinate of the end point of the line segment. | 
| double | y1The Y coordinate of the start point of the line segment. | 
| double | y2The Y coordinate of the end point of the line segment. | 
| Constructor and 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  Line2Dfrom the
 specified coordinates. | 
| Double(Point2D p1,
      Point2D p2)Constructs and initializes a  Line2Dfrom the
 specifiedPoint2Dobjects. | 
| Modifier and Type | Method and Description | 
|---|---|
| Rectangle2D | getBounds2D()Returns a high precision and more accurate bounding box of
 the  Shapethan thegetBoundsmethod. | 
| Point2D | getP1()Returns the start  Point2Dof thisLine2D. | 
| Point2D | getP2()Returns the end  Point2Dof thisLine2D. | 
| 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  Line2Dto
 the specified double coordinates. | 
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, setLinepublic double x1
public double y1
public double x2
public double y2
public Double()
public Double(double x1,
              double y1,
              double x2,
              double y2)
Line2D from the
 specified coordinates.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 pointpublic double getX1()
public double getY1()
public Point2D getP1()
Point2D of this Line2D.public double getX2()
public double getY2()
public Point2D getP2()
Point2D of this Line2D.public void setLine(double x1,
                    double y1,
                    double x2,
                    double y2)
Line2D to
 the specified double coordinates.public Rectangle2D getBounds2D()
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)
 
getBounds2D in interface ShapeRectangle2D that is a
                 high-precision bounding box of the Shape.Shape.getBounds() Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.