- java.lang.Object
-
- java.awt.geom.RectangularShape
-
- java.awt.geom.Ellipse2D
-
- 已知直接子类:
-
Ellipse2D.Double
,Ellipse2D.Float
public abstract class Ellipse2D extends RectangularShape
Ellipse2D
类描述了由框架矩形定义的椭圆。该类只是存储2D椭圆的所有对象的抽象超类。 坐标的实际存储表示留给子类。
- 从以下版本开始:
- 1.2
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
Ellipse2D.Double
Double
类定义了一个double
精度中指定的椭圆。static class
Ellipse2D.Float
Float
类定义了一个float
精度中指定的椭圆。
-
构造方法摘要
构造方法 Modifier Constructor 描述 protected
Ellipse2D()
这是一个无法直接实例化的抽象类。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 boolean
contains(double x, double y)
测试指定的坐标是否在Shape
的边界内,如 definition of insideness所述 。boolean
contains(double x, double y, double w, double h)
测试Shape
的内部Shape
完全包含指定的矩形区域。boolean
equals(Object obj)
确定指定的Object
是否等于此Ellipse2D
。PathIterator
getPathIterator(AffineTransform at)
返回一个定义Ellipse2D
边界的迭代对象。int
hashCode()
返回此Ellipse2D
的哈希Ellipse2D
。boolean
intersects(double x, double y, double w, double h)
测试Shape
的内部是否与指定矩形区域的内部相交。-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class java.awt.geom.RectangularShape
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
-
Methods inherited from interface java.awt.Shape
getBounds2D
-
-
-
-
构造方法详细信息
-
Ellipse2D
protected Ellipse2D()
这是一个无法直接实例化的抽象类。 类型特定的实现子类可用于实例化,并提供了许多格式,用于存储满足以下各种存取方法所必需的信息。- 从以下版本开始:
- 1.2
- 另请参见:
-
Ellipse2D.Float
,Ellipse2D.Double
-
-
方法详细信息
-
contains
public boolean contains(double x, double y)
测试指定的坐标是否在Shape
的边界内,如 definition of insideness所述 。- 参数
-
x
- 要测试的指定X坐标 -
y
- 要测试的指定Y坐标 - 结果
-
true
如果指定的坐标是在Shape
边界内; 否则为false
。 - 从以下版本开始:
- 1.2
-
intersects
public boolean intersects(double x, double y, double w, double h)
测试Shape
的内部是否与指定矩形区域的内部相交。 矩形区域被认为是交叉的Shape
如果任何点被包含在双方的内部Shape
和指定的矩形区域。Shape.intersects()
方法允许Shape
实现保守返回true
当:- 很可能矩形区域和
Shape
相交,但是 - 准确地确定这个交叉点的计算是非常昂贵的。
Shapes
这种方法也可能返回true
即使矩形区域没有相交Shape
。Area
类比大多数Shape
对象执行几何交集的更准确的计算,因此如果需要更准确的答案,则可以使用它。- 参数
-
x
- 指定矩形区域左上角的X坐标 -
y
- 指定矩形区域左上角的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
true
如果Shape
的内部和矩形区域的内部相交,或者两者都很可能相交,并且交叉点计算将太昂贵执行; 否则为false
。 - 从以下版本开始:
- 1.2
- 另请参见:
-
Area
- 很可能矩形区域和
-
contains
public boolean contains(double x, double y, double w, double h)
测试Shape
的内部Shape
完全包含指定的矩形区域。 位于矩形区域内的所有坐标必须位于Shape
内,因为整个矩形区域将被视为包含在Shape
。Shape.contains()
方法允许Shape
实现保守返回false
当:-
intersect
方法返回true
和 - 确定
Shape
是否完全包含矩形区域的计算是非常昂贵的。
Shapes
即使Shape
包含矩形区域,此方法也可能返回false
。Area
类比大多数Shape
对象执行更准确的几何计算,因此如果需要更精确的答案,则可以使用它。- 参数
-
x
- 指定矩形区域左上角的X坐标 -
y
- 指定矩形区域左上角的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
true
如果内部的Shape
完全包含指定的矩形区域;false
否则,或者如果Shape
包含矩形区域,并且intersects
方法返回true
,并且控制计算将太昂贵,无法执行。 - 从以下版本开始:
- 1.2
- 另请参见:
-
Area
,Shape.intersects(double, double, double, double)
-
-
getPathIterator
public PathIterator getPathIterator(AffineTransform at)
返回一个定义Ellipse2D
边界的迭代对象。 该类的迭代器是多线程安全的,这意味着这个Ellipse2D
类保证对这个Ellipse2D
对象的几何的修改不会影响已经在处理的几何的任何迭代。- 参数
-
at
- 要在迭代中返回时应用于坐标的可选AffineTransform
,如果需要未转换的坐标,null
- 结果
-
PathIterator
对象返回此Ellipse2D
轮廓的几何,Ellipse2D
一个段。 - 从以下版本开始:
- 1.2
-
hashCode
public int hashCode()
返回此Ellipse2D
的哈希Ellipse2D
。- 重写:
-
hashCode
中的Object
- 结果
-
这个
Ellipse2D
的哈希Ellipse2D
。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)
确定指定的Object
是否等于此Ellipse2D
。 指定Object
等于该Ellipse2D
,如果它是一个实例Ellipse2D
,如果它的位置和大小是相同的,因为这Ellipse2D
。- 重写:
-
equals
在类Object
- 参数
-
obj
- 一个Object
要与这个Ellipse2D
进行比较。 - 结果
-
true
如果obj
是的一个实例Ellipse2D
,并且具有相同的值; 否则为false
。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Object.hashCode()
,HashMap
-
-