模块  java.desktop
软件包  java.awt.geom

Class RectangularShape

  • 实现的所有接口
    ShapeCloneable
    已知直接子类:
    Arc2DEllipse2DRectangle2DRoundRectangle2D

    public abstract class RectangularShape
    extends Object
    implements Shape, Cloneable
    RectangularShape是许多Shape对象的基类,其几何图形由矩形框架定义。 此类不直接指定任何特定的几何体,而仅提供由整个类别的Shape对象继承的操作方法。 此类提供的操作方法可用于查询和修改矩形框架,这为子类提供了定义其几何体的参考。
    从以下版本开始:
    1.2
    • 构造方法详细信息

    • 方法详细信息

      • getX

        public abstract double getX()
        double精度返回框架矩形左上角的X坐标。
        结果
        框架矩形左上角的X坐标。
        从以下版本开始:
        1.2
      • getY

        public abstract double getY()
        double精度返回框架矩形左上角的Y坐标。
        结果
        框架矩形左上角的Y坐标。
        从以下版本开始:
        1.2
      • getWidth

        public abstract double getWidth()
        double精度返回框架矩形的宽度。
        结果
        框架矩形的宽度。
        从以下版本开始:
        1.2
      • getHeight

        public abstract double getHeight()
        double精度返回框架矩形的高度。
        结果
        框架矩形的高度。
        从以下版本开始:
        1.2
      • getMinX

        public double getMinX()
        double精度返回 Shape的框架矩形的最小X坐标。
        结果
        Shape的框架矩形的最小X坐标。
        从以下版本开始:
        1.2
      • getMinY

        public double getMinY()
        double精度返回 Shape的框架矩形的最小Y坐标。
        结果
        Shape的框架矩形的最小Y坐标。
        从以下版本开始:
        1.2
      • getMaxX

        public double getMaxX()
        double精度返回 Shape的框架矩形的最大X坐标。
        结果
        Shape的框架矩形的最大X坐标。
        从以下版本开始:
        1.2
      • getMaxY

        public double getMaxY()
        double精度返回 Shape的框架矩形的最大Y坐标。
        结果
        Shape的框架矩形的最大Y坐标。
        从以下版本开始:
        1.2
      • getCenterX

        public double getCenterX()
        double精度返回 Shape的框架矩形中心的X坐标。
        结果
        Shape的框架矩形中心的X坐标。
        从以下版本开始:
        1.2
      • getCenterY

        public double getCenterY()
        double精度返回 Shape的框架矩形中心的Y坐标。
        结果
        Shape框架矩形中心的Y坐标。
        从以下版本开始:
        1.2
      • isEmpty

        public abstract boolean isEmpty()
        确定RectangularShape是否为空。 RectangularShape为空时,它不包含任何区域。
        结果
        true如果RectangularShape为空; 否则为false
        从以下版本开始:
        1.2
      • setFrame

        public abstract void setFrame​(double x,
                                      double y,
                                      double w,
                                      double h)
        将此 Shape的框架矩形的位置和大小设置为指定的矩形值。
        参数
        x - 指定矩形的左上角的X坐标
        y - 指定矩形的左上角的Y坐标
        w - 指定矩形的宽度
        h - 指定矩形的高度
        从以下版本开始:
        1.2
        另请参见:
        getFrame()
      • setFrame

        public void setFrame​(Point2D loc,
                             Dimension2D size)
        将此Shape的框架矩形的位置和大小分别设置为指定的Point2DDimension2D 框架矩形由RectangularShape的子类用于定义它们的几何。
        参数
        loc - 指定的 Point2D
        size - 指定的 Dimension2D
        从以下版本开始:
        1.2
        另请参见:
        getFrame()
      • setFrame

        public void setFrame​(Rectangle2D r)
        将此Shape的框架矩形设置为指定的Rectangle2D 框架矩形由RectangularShape的子类用于定义它们的几何。
        参数
        r - 指定的 Rectangle2D
        从以下版本开始:
        1.2
        另请参见:
        getFrame()
      • setFrameFromDiagonal

        public void setFrameFromDiagonal​(double x1,
                                         double y1,
                                         double x2,
                                         double y2)
        根据两个指定的坐标设置此Shape的框架矩形的对角线。 框架矩形由RectangularShape的子类用于定义其几何。
        参数
        x1 - 指定对角线起点的X坐标
        y1 - 指定对角线起点的Y坐标
        x2 - 指定对角线终点的X坐标
        y2 - 指定对角线终点的Y坐标
        从以下版本开始:
        1.2
      • setFrameFromDiagonal

        public void setFrameFromDiagonal​(Point2D p1,
                                         Point2D p2)
        根据两个指定的Point2D对象设置此Shape的框架矩形的对角线。 框架矩形由RectangularShape的子类用于定义它们的几何。
        参数
        p1 - 指定对角线的起始 Point2D
        p2 - 指定对角线的末端 Point2D
        从以下版本开始:
        1.2
      • setFrameFromCenter

        public void setFrameFromCenter​(double centerX,
                                       double centerY,
                                       double cornerX,
                                       double cornerY)
        根据指定的中心点坐标和角点坐标设置此Shape的框架矩形。 框架矩形由RectangularShape的子类用于定义其几何。
        参数
        centerX - 指定中心点的X坐标
        centerY - 指定中心点的Y坐标
        cornerX - 指定角点的X坐标
        cornerY - 指定角点的Y坐标
        从以下版本开始:
        1.2
      • setFrameFromCenter

        public void setFrameFromCenter​(Point2D center,
                                       Point2D corner)
        根据指定的中心Point2D和角Point2D设置此Shape的框架矩形。 框架矩形由RectangularShape的子类用于定义其几何形状。
        参数
        center - 指定中心 Point2D
        corner - 指定的角落 Point2D
        从以下版本开始:
        1.2
      • contains

        public boolean contains​(Point2D p)
        测试指定Point2D是的边界内Shape ,如所描述的definition of insideness
        Specified by:
        contains接口 Shape
        参数
        p - 要测试的指定的 Point2D
        结果
        true如果指定Point2D是的边界内Shape ; 否则为false
        从以下版本开始:
        1.2
      • intersects

        public boolean intersects​(Rectangle2D r)
        测试Shape的内部是否与指定的Rectangle2D的内部相交。 在以下情况下, Shape.intersects()方法允许Shape实施保守地返回true
        • Rectangle2DShape相交的概率很高,但是
        • 精确确定这个交叉点的计算非常昂贵。
        这意味着对于某些Shapes这种方法也可能返回true即使Rectangle2D不相交Shape Area类比大多数Shape对象执行更精确的几何交集计算,因此如果需要更精确的答案,则可以使用它。
        Specified by:
        intersects接口 Shape
        参数
        r - 指定的 Rectangle2D
        结果
        true如果Shape的内部与指定的Rectangle2D的内部相交,或者两者都很有可能相交并且交叉计算将太昂贵而无法执行; 否则为false
        从以下版本开始:
        1.2
        另请参见:
        Shape.intersects(double, double, double, double)
      • contains

        public boolean contains​(Rectangle2D r)
        测试Shape的内部Shape完全包含指定的Rectangle2D 在以下情况下, Shape.contains()方法允许Shape实施保守地返回false
        • intersect方法返回true
        • 用于确定Shape是否完全包含Rectangle2D的计算非常昂贵。
        这意味着对于某些Shapes这种方法也可能返回false即使Shape包含Rectangle2D Area类比大多数Shape对象执行更精确的几何计算,因此如果需要更精确的答案,则可以使用它。
        Specified by:
        contains接口 Shape
        参数
        r - 指定的 Rectangle2D
        结果
        true如果内部Shape完全包含Rectangle2D ; false否则或者,如果Shape包含Rectangle2D并且intersects方法返回true并且包含计算将太昂贵而无法执行。
        从以下版本开始:
        1.2
        另请参见:
        Shape.contains(double, double, double, double)
      • getBounds

        public Rectangle getBounds()
        返回一个整数Rectangle完全包围Shape 请注意,不保证返回的Rectangle是最小的边框包围Shape ,只表示Shape完全在指定的范围内Rectangle 如果Shape溢出整数数据类型的有限范围,则返回的Rectangle也可能无法完全包含Shape getBounds2D方法通常返回更严格的边界框,因为它具有更强的表示灵活性。

        请注意, definition of insideness可能会导致shape定义轮廓上的shape可能不被视为包含在返回的bounds对象中,但仅限于原始shape不包含这些点的情况。

        如果point是内部shape根据contains(point)方法,那么它必须是内部返回Rectangle界限根据对象contains(point)所述的方法bounds 特别:

        shape.contains(x,y)需要bounds.contains(x,y)

        如果point不在shape ,则它可能仍包含在bounds对象中:

        bounds.contains(x,y)并不shape.contains(x,y)

        Specified by:
        getBounds接口 Shape
        结果
        整数 Rectangle ,完全包含 Shape
        从以下版本开始:
        1.2
        另请参见:
        Shape.getBounds2D()
      • getPathIterator

        public PathIterator getPathIterator​(AffineTransform at,
                                            double flatness)
        返回迭代器对象,该对象沿Shape对象的边界进行迭代,并提供对Shape对象几何体轮廓的Shape平视图的访问。

        迭代器只返回SEG_MOVETO,SEG_LINETO和SEG_CLOSE点类型。

        弯曲段的细分量由flatness参数控制,该参数指定未平坦变换曲线上的任何点可以偏离返回的平坦路径段的最大距离。 可以指定可选的AffineTransform以便相应地转换迭代中返回的坐标。

        Specified by:
        getPathIterator在界面 Shape
        参数
        at - 在迭代中返回时应用于坐标的可选 AffineTransform null如果需要未转换的坐标,则 null
        flatness - 允许线段用于近似弯曲段的最大距离偏离原始曲线上的任何点
        结果
        PathIterator对象,提供对 Shape对象的展平几何体的访问。
        从以下版本开始:
        1.2
      • clone

        public Object clone()
        创建与此对象具有相同类并具有相同内容的新对象。
        重写:
        clone在类 Object
        结果
        这个实例的克隆。
        异常
        OutOfMemoryError - 如果内存不足。
        从以下版本开始:
        1.2
        另请参见:
        Cloneable