模块 java.desktop

类 RectangularShape

java.lang.Object
java.awt.geom.RectangularShape
所有已实现的接口:
Shape , Cloneable
已知子类:
Arc2D , Ellipse2D , Rectangle2D , RoundRectangle2D

public abstract class RectangularShape extends Object implements Shape , Cloneable
RectangularShape 是许多 Shape 对象的基类,这些对象的几何形状由矩形框定义。这个类本身并不直接指定任何特定的几何图形,而只是提供被一整类Shape对象继承的操作方法。该类提供的操作方法可用于查询和修改矩形框,为子类定义自己的几何图形提供参考。
自从:
1.2
  • 构造方法总结

    构造方法
    修饰符
    构造方法
    描述
    protected
    这是一个不能直接实例化的抽象类。
  • 方法总结

    修饰符和类型
    方法
    描述
    创建一个与此对象具有相同类和相同内容的新对象。
    boolean
    测试指定的 Point2D 是否在 Shape 的边界内,如 definition of insideness 所述。
    boolean
    测试 Shape 的内部是否完全包含指定的 Rectangle2D
    返回一个整数 Rectangle 完全包围 Shape
    double
    double 精度返回 Shape 框架矩形中心的 X 坐标。
    double
    double 精度返回 Shape 取景矩形中心的 Y 坐标。
    返回定义此对象整体形状的框架 Rectangle2D
    abstract double
    double 精度返回框架矩形的高度。
    double
    double 精度返回 Shape 的取景矩形的最大 X 坐标。
    double
    double 精度返回 Shape 取景矩形的最大 Y 坐标。
    double
    double 精度返回 Shape 的取景矩形的最小 X 坐标。
    double
    double 精度返回 Shape 的取景矩形的最小 Y 坐标。
    getPathIterator(AffineTransform at, double flatness)
    返回一个迭代器对象,该对象沿 Shape 对象的边界进行迭代,并提供对 Shape 对象几何轮廓的平面视图的访问。
    abstract double
    double 精度返回框架矩形的宽度。
    abstract double
    getX()
    double 精度返回框架矩形左上角的 X 坐标。
    abstract double
    getY()
    double 精度返回框架矩形左上角的 Y 坐标。
    boolean
    测试 Shape 的内部是否与指定的 Rectangle2D 的内部相交。
    abstract boolean
    确定 RectangularShape 是否为空。
    abstract void
    setFrame(double x, double y, double w, double h)
    将此 Shape 的框架矩形的位置和大小设置为指定的矩形值。
    void
    将此 Shape 的框架矩形的位置和大小分别设置为指定的 Point2D Dimension2D
    void
    将此 Shape 的框架矩形设置为指定的 Rectangle2D
    void
    setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY)
    根据指定的中心点坐标和角点坐标设置此 Shape 的框架矩形。
    void
    根据指定的中心 Point2D 和角 Point2D 设置此 Shape 的框架矩形。
    void
    setFrameFromDiagonal(double x1, double y1, double x2, double y2)
    根据两个指定的坐标设置此 Shape 的框架矩形的对角线。
    void
    根据两个指定的 Point2D 对象设置此 Shape 框架矩形的对角线。

    在类 java.lang.Object 中声明的方法

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    在接口 java.awt.Shape 中声明的方法

    contains, contains, getBounds2D, getPathIterator, intersects
  • 构造方法详细信息

  • 方法详情

    • 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
    • getFrame

      public Rectangle2D  getFrame()
      返回定义此对象整体形状的框架 Rectangle2D
      返回:
      一个 Rectangle2D ,在 double 坐标中指定。
      自从:
      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
      参见:
    • setFrame

      public void setFrame(Point2D  loc, Dimension2D  size)
      将此 Shape 的框架矩形的位置和大小分别设置为指定的 Point2D Dimension2D RectangularShape 的子类使用框架矩形来定义它们的几何形状。
      参数:
      loc - 指定的 Point2D
      size - 指定的 Dimension2D
      自从:
      1.2
      参见:
    • setFrame

      public void setFrame(Rectangle2D  r)
      将此 Shape 的框架矩形设置为指定的 Rectangle2DRectangularShape 的子类使用框架矩形来定义它们的几何形状。
      参数:
      r - 指定的 Rectangle2D
      自从:
      1.2
      参见:
    • 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 所述。
      指定者:
      contains 在接口 Shape
      参数:
      p - 要测试的指定 Point2D
      返回:
      true 如果指定的 Point2DShape 的边界内; false否则。
      自从:
      1.2
    • intersects

      public boolean intersects(Rectangle2D  r)
      测试 Shape 的内部是否与指定的 Rectangle2D 的内部相交。 Shape.intersects() 方法允许 Shape 实现在以下情况下保守地返回 true
      • Rectangle2DShape 相交的可能性很高,但是
      • 准确确定该交叉点的计算非常昂贵。
      这意味着对于某些 Shapes 此方法可能返回 true 即使 Rectangle2D 不与 Shape 相交。 Area 类执行比大多数 Shape 对象更准确的几何交集计算,因此如果需要更精确的答案可以使用。
      指定者:
      intersects 在接口 Shape
      参数:
      r - 指定的 Rectangle2D
      返回:
      true 如果 Shape 的内部与指定的 Rectangle2D 的内部相交,或者两者极有可能相交,并且相交计算的执行成本太高; false否则。
      自从:
      1.2
      参见:
    • contains

      public boolean contains(Rectangle2D  r)
      测试 Shape 的内部是否完全包含指定的 Rectangle2DShape.contains() 方法允许 Shape 实现在以下情况下保守地返回 false
      • intersect 方法返回 true
      • 确定 Shape 是否完全包含 Rectangle2D 的计算非常昂贵。
      这意味着对于某些 Shapes 此方法可能返回 false 即使 Shape 包含 Rectangle2DArea 类执行比大多数 Shape 对象更精确的几何计算,因此可以在需要更精确的答案时使用。
      指定者:
      contains 在接口 Shape
      参数:
      r - 指定的 Rectangle2D
      返回:
      true 如果 Shape 的内部完全包含 Rectangle2Dfalse 否则,或者,如果 Shape 包含 Rectangle2D 并且 intersects 方法返回 true 并且包含计算的执行成本太高。
      自从:
      1.2
      参见:
    • getBounds

      public Rectangle  getBounds()
      返回一个整数 Rectangle 完全包围 Shape 。请注意,不能保证返回的 Rectangle 是包围 Shape 的最小边界框,只能保证 Shape 完全位于指示的 Rectangle 内。如果 Shape 溢出整数数据类型的有限范围,则返回的 Rectangle 也可能无法完全包围 ShapegetBounds2D 方法通常会返回更紧密的边界框,因为它在表示方掩码有更大的灵活性。

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

      如果根据 contains(point) 方法 pointshape 内部,那么根据 boundscontains(point) 方法,它必须在返回的 Rectangle 边界对象内部。具体来说:

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

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

      bounds.contains(x,y) 并不意味着 shape.contains(x,y)

      指定者:
      getBounds 在接口 Shape
      返回:
      一个整数 Rectangle 完全包含 Shape
      自从:
      1.2
      参见:
    • getPathIterator

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

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

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

      指定者:
      getPathIterator 在接口 Shape
      参数:
      at - 一个可选的 AffineTransform 应用于在迭代中返回的坐标,或者 null 如果需要未转换的坐标。
      flatness - 用于逼近曲线段的线段允许偏离原始曲线上任意点的最大距离
      返回:
      一个 PathIterator 对象,它提供对 Shape 对象的展平几何体的访问。
      自从:
      1.2
    • clone

      public Object  clone()
      创建一个与此对象具有相同类和相同内容的新对象。
      重写:
      clone 在类 Object
      返回:
      此实例的克隆。
      抛出:
      OutOfMemoryError - 如果内存不足。
      自从:
      1.2
      参见: