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

Class RoundRectangle2D

  • 实现的所有接口
    ShapeCloneable
    已知直接子类:
    RoundRectangle2D.DoubleRoundRectangle2D.Float

    public abstract class RoundRectangle2D
    extends RectangularShape
    RoundRectangle2D类定义了一个矩形,其圆角由位置(x,y) ,尺寸(w x h)以及用于圆角的弧的宽度和高度定义。

    此类是存储2D圆角矩形的所有对象的抽象超类。 坐标的实际存储表示留给子类。

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

      • RoundRectangle2D

        protected RoundRectangle2D()
        这是一个无法直接实例化的抽象类。 特定于类型的实现子类可用于实例化,并提供许多格式用于存储满足以下各种访问器方法所必需的信息。
        从以下版本开始:
        1.2
        另请参见:
        RoundRectangle2D.FloatRoundRectangle2D.Double
    • 方法详细信息

      • getArcWidth

        public abstract double getArcWidth()
        获取圆角圆弧的宽度。
        结果
        圆弧的宽度,圆角 RoundRectangle2D的角。
        从以下版本开始:
        1.2
      • getArcHeight

        public abstract double getArcHeight()
        获取圆角圆弧的高度。
        结果
        圆弧的高度 RoundRectangle2D这个 RoundRectangle2D的角落。
        从以下版本开始:
        1.2
      • setRoundRect

        public abstract void setRoundRect​(double x,
                                          double y,
                                          double w,
                                          double h,
                                          double arcWidth,
                                          double arcHeight)
        将此 RoundRectangle2D的位置,大小和角半径 RoundRectangle2D为指定的 double值。
        参数
        x - X坐标来设置此位置 RoundRectangle2D
        y - 要设置此 RoundRectangle2D的位置的Y坐标
        w - 要设置此 RoundRectangle2D的宽度 RoundRectangle2D
        h - 设置此 RoundRectangle2D的高度 RoundRectangle2D
        arcWidth - 设置此 RoundRectangle2D的弧的 RoundRectangle2D
        arcHeight - 设置此 RoundRectangle2D的弧的 RoundRectangle2D
        从以下版本开始:
        1.2
      • setRoundRect

        public void setRoundRect​(RoundRectangle2D rr)
        将此 RoundRectangle2D设置为与指定的 RoundRectangle2D相同。
        参数
        rr - 指定的 RoundRectangle2D
        从以下版本开始:
        1.2
      • setFrame

        public void setFrame​(double x,
                             double y,
                             double w,
                             double h)
        将此 Shape的框架矩形的位置和大小设置为指定的矩形值。
        Specified by:
        setFrameRectangularShape
        参数
        x - 指定矩形形状左上角的X坐标
        y - 指定矩形的左上角的Y坐标
        w - 指定矩形的宽度
        h - 指定矩形的高度
        从以下版本开始:
        1.2
        另请参见:
        RectangularShape.getFrame()
      • 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实现在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实现在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)
        返回一个迭代对象,该对象定义此RoundRectangle2D的边界。 此类的迭代器是多线程安全的,这意味着此RoundRectangle2D类保证对此RoundRectangle2D对象的几何的修改不会影响已在进行中的该几何的任何迭代。
        参数
        at - 可选的 AffineTransform应用于迭代中返回的坐标,如果需要未转换的坐标则 null
        结果
        PathIterator对象,返回此 RoundRectangle2D轮廓的几何,一次一个段。
        从以下版本开始:
        1.2
      • equals

        public boolean equals​(Object obj)
        确定指定的Object是否等于此RoundRectangle2D 指定Object等于该RoundRectangle2D如果是的一个实例RoundRectangle2D ,如果它的位置,大小和角弧的尺寸是相同的,因为这RoundRectangle2D
        重写:
        equals在课程 Object
        参数
        obj - Object与此 RoundRectangle2D进行比较。
        结果
        true如果obj是的一个实例RoundRectangle2D ,并具有相同的值; 否则为false
        从以下版本开始:
        1.6
        另请参见:
        Object.hashCode()HashMap