Shape
, Serializable
, Cloneable
Line2D
public static class Line2D.Double extends Line2D implements Serializable
Line2D.Double, Line2D.Float
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 | Description |
---|---|
Double() |
Constructs and initializes a Line with coordinates (0, 0) → (0, 0). |
Double |
Constructs and initializes a Line2D from the specified coordinates. |
Double |
Constructs and initializes a Line2D from the specified Point2D objects. |
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 |
Sets the location of the end points of this Line2D to 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, setLine
public 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(Point2D p1, Point2D p2)
Line2D
from the specified Point2D
objects.p1
- the start Point2D
of this line segmentp2
- the end Point2D
of this line segmentpublic 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 Shape
Rectangle2D
that is a high-precision bounding box of the Shape
.
© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/java/awt/geom/Line2D.Double.html