java.awt.geom

接口
异常
java.lang.Object
  继承者 java.awt.geom.RectangularShape
      继承者 java.awt.geom.Ellipse2D
所有已实现的接口:
Shape, Cloneable
直接已知子类:
Ellipse2D.Double, Ellipse2D.Float

public abstract class Ellipse2D
     
extends RectangularShape

Ellipse2D 类描述窗体矩形定义的椭圆。

此类是所有存储 2D 椭圆的对象的惟一抽象超类。坐标的实际存储表示形式由子类决定。

从以下版本开始:
1.2

嵌套类摘要
static class Ellipse2D.Double
          Double 类以 double 精度定义椭圆。
static class Ellipse2D.Float
          Float 类以 float 精度定义椭圆。
 
构造方法摘要
protected Ellipse2D()
          这是一个无法直接实例化的抽象类。
 
方法摘要
 boolean contains(double x, double y)
          测试指定坐标是否在 Shape 的边界内。
 boolean contains(double x, double y, double w, double h)
          测试 Shape 内部是否完全包含指定矩形区域。
 boolean equals(Object obj)
          确定指定的 Object 是否与此 Ellipse2D 相等。
 PathIterator getPathIterator(AffineTransform at)
          返回定义此 Ellipse2D 边界的迭代对象。
 int hashCode()
          返回此 Ellipse2D 的哈希码。
 boolean intersects(double x, double y, double w, double h)
          测试 Shape 内部是否与指定矩形区域的内部相交。
 
从类 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
 
从类 java.lang.Object 继承的方法
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
从接口 java.awt.Shape 继承的方法
getBounds2D
 

构造方法详细信息

Ellipse2D

protected Ellipse2D()
这是一个无法直接实例化的抽象类。特定于类型的实现子类可用于实例化,并提供用于存储满足以下各种存取方法所需信息的多种格式。

从以下版本开始:
1.2
另请参见:
Ellipse2D.Float, Ellipse2D.Double
方法详细信息

contains

public boolean contains(double x,
                        double y)
测试指定坐标是否在 Shape 的边界内。

参数:
x - 要测试的指定的 X 坐标
y - 要测试的指定的 Y 坐标
返回:
如果指定坐标在 Shape 边界内,则返回 true;否则返回 false
从以下版本开始:
1.2

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)
测试 Shape 内部是否与指定矩形区域的内部相交。如果任何一个点既包含在 Shape 内,又包含在指定矩形区域内,则认为矩形区域与 Shape 相交。

在下列情况下,Shape.intersects() 方法允许 Shape 实现谨慎地返回 true

  • 矩形区域与 Shape 相交的可能性很大,但是
  • 精确确定相交的计算代价太高。
这意味着对于某些 Shape,即使矩形区域没有与该 Shape 相交,此方法也可能返回 true。如果需要更精确的答案,由于 Area 类比大多数 Shape 对象更为准确地计算几何相交,因此可以使用该类。

参数:
x - 指定矩形区域左上角的 X 坐标
y - 指定矩形区域左上角的 Y 坐标
w - 指定矩形区域的宽度
h - 指定矩形区域的高度
返回:
如果 Shape 的内部区域与矩形的内部区域相交,或者相交的可能性很大且执行计算的代价太高,则返回 true;否则返回 false
从以下版本开始:
1.2
另请参见:
Area

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)
测试 Shape 内部是否完全包含指定矩形区域。矩形区域内的所有坐标都必须位于 Shape 中,才可以认为整个矩形区域包含在 Shape中。

在下列情况下,Shape.contains() 方法允许 Shape 实现谨慎地返回 false

  • intersect 方法返回 true 并且
  • 计算 Shape 是否完全包含矩形区域的代价太高。
这意味着对于某些 Shape,即使 Shape 包含矩形区域,此方法也可能返回 false。如果需要更精确的答案,由于 Area 类比大多数 Shape 对象更为准确地执行几何计算,因此可以使用该类。

参数:
x - 指定矩形区域左上角的 X 坐标
y - 指定矩形区域左上角的 Y 坐标
w - 指定矩形区域的宽度
h - 指定矩形区域的高度
返回:
如果 Shape 内部完全包含指定矩形区域,则返回 true;否则,如果 Shape 包含矩形区域、 intersects 方法返回 true 且执行包含计算代价太高,则返回 false
从以下版本开始:
1.2
另请参见:
Area, Shape.intersects(double, double, double, double)

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
返回定义此 Ellipse2D 边界的迭代对象。此类的迭代器是多线程安全的,这意味着此 Ellipse2D 类保证对此 Ellipse2D 对象几何形状所作的修改不会影响该几何形状中正在进行的迭代。

参数:
at - 一个可选的 AffineTransform,用于在迭代中返回的坐标;如果需要未转换的坐标,则为 null
返回:
返回此 Ellipse2D 轮廓几何形状的 PathIterator 对象,一次一段。
从以下版本开始:
1.2

hashCode

public int hashCode()
返回此 Ellipse2D 的哈希码。

覆盖:
Object 中的 hashCode
返回:
Ellipse2D 的哈希码。
从以下版本开始:
1.6
另请参见:
Object.equals(java.lang.Object), Hashtable

equals

public boolean equals(Object obj)
确定指定的 Object 是否与此 Ellipse2D 相等。如果指定的 Object 是一个 Ellipse2D 实例并且其位置和大小与此 Ellipse2D 相同,那么该对象与此 Ellipse2D 相等。

覆盖:
Object 中的 equals
参数:
obj - 将与此 Ellipse2D 进行比较的 Object
返回:
如果 obj 是一个 Ellipse2D 实例并且具有相同的值,则返回 true;否则返回 false
从以下版本开始:
1.6
另请参见:
Object.hashCode(), Hashtable