Module  java.desktop
软件包  java.awt.geom

Class Ellipse2D

  • All Implemented Interfaces:
    ShapeCloneable
    已知直接子类:
    Ellipse2D.DoubleEllipse2D.Float


    public abstract class Ellipse2D
    extends RectangularShape
    Ellipse2D类描述了由框架矩形定义的椭圆。

    该类只是存储2D椭圆的所有对象的抽象超类。 坐标的实际存储表示留给子类。

    从以下版本开始:
    1.2
    • 构造方法详细信息

      • Ellipse2D

        protected Ellipse2D​()
        这是一个无法直接实例化的抽象类。 类型特定的实现子类可用于实例化,并提供了许多格式,用于存储满足以下各种存取方法所必需的信息。
        从以下版本开始:
        1.2
        另请参见:
        Ellipse2D.FloatEllipse2D.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
        另请参见:
        AreaShape.intersects(double, double, double, double)
      • getPathIterator

        public PathIterator getPathIterator​(AffineTransform at)
        返回一个定义Ellipse2D边界的迭代对象。 该类的迭代器是多线程安全的,这意味着这个Ellipse2D类保证对这个Ellipse2D对象的几何的修改不会影响已经在处理的几何的任何迭代。
        参数
        at - 要在迭代中返回时应用于坐标的可选 AffineTransform ,如果需要未转换的坐标, null
        结果
        PathIterator对象返回此 Ellipse2D轮廓的几何, Ellipse2D一个段。
        从以下版本开始:
        1.2
      • 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