- java.lang.Object
-  
      - java.awt.geom.RectangularShape
-  
        - java.awt.geom.Rectangle2D
 
 
-  
        
       - 已知直接子类:
-  
         Rectangle,Rectangle2D.Double,Rectangle2D.Float
 
 public abstract class Rectangle2D extends RectangularShape Rectangle2D类描述了由位置(x,y)和维度(w x h)定义的矩形。此类只是存储2D矩形的所有对象的抽象超类。 坐标的实际存储表示留给子类。 - 从以下版本开始:
- 1.2
 
-  
        
       -  
             嵌套类汇总嵌套类 变量和类型 类 描述 static classRectangle2D.DoubleDouble类定义以双坐标指定的矩形。static classRectangle2D.FloatFloat类定义以float坐标指定的矩形。
 -  
             字段汇总字段 变量和类型 字段 描述 static intOUT_BOTTOM位掩码,指示某个点位于此Rectangle2D。static intOUT_LEFT位掩码,指示某个点位于此Rectangle2D的左侧。static intOUT_RIGHT位掩码,指示某个点位于此Rectangle2D的右侧。static intOUT_TOP位掩码,指示某个点位于此Rectangle2D。
 -  
             构造方法摘要构造方法 变量 构造器 描述 protectedRectangle2D()这是一个无法直接实例化的抽象类。
 -  
             方法摘要所有方法 静态方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 voidadd(double newx, double newy)将双精度参数newx和newy指定的点添加到此Rectangle2D。voidadd(Point2D pt)将Point2D对象pt添加到此Rectangle2D。voidadd(Rectangle2D r)添加Rectangle2D对象到此Rectangle2D。booleancontains(double x, double y)测试指定的坐标是否在Shape的边界内,如 definition of insideness所述 。booleancontains(double x, double y, double w, double h)测试Shape的内部Shape完全包含指定的矩形区域。abstract Rectangle2DcreateIntersection(Rectangle2D r)返回一个新的Rectangle2D对象,表示此Rectangle2D与指定的Rectangle2D。abstract Rectangle2DcreateUnion(Rectangle2D r)返回一个新的Rectangle2D对象,表示此Rectangle2D与指定的Rectangle2D。booleanequals(Object obj)确定指定的Object是否等于此Rectangle2D。Rectangle2DgetBounds2D()返回Shape高精度和更精确的边界框,而不是getBounds方法。PathIteratorgetPathIterator(AffineTransform at)返回定义此Rectangle2D边界的迭代对象。PathIteratorgetPathIterator(AffineTransform at, double flatness)返回一个迭代对象,该对象定义展平的Rectangle2D的边界。inthashCode()返回此Rectangle2D的哈希Rectangle2D。static voidintersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)将指定的源对Rectangle2D对象相交,并将结果放入指定的目标Rectangle2D对象中。booleanintersects(double x, double y, double w, double h)测试Shape的内部是否与指定矩形区域的内部相交。booleanintersectsLine(double x1, double y1, double x2, double y2)测试指定的线段是否与此Rectangle2D的内部相交。booleanintersectsLine(Line2D l)测试指定的线段是否与此Rectangle2D的内部相交。abstract intoutcode(double x, double y)确定指定坐标相对于此Rectangle2D。intoutcode(Point2D p)确定指定的Point2D相对于此Rectangle2D。voidsetFrame(double x, double y, double w, double h)将此Rectangle2D的外边界的位置和大小设置为指定的矩形值。abstract voidsetRect(double x, double y, double w, double h)将此Rectangle2D的位置和大小设置为指定的double值。voidsetRect(Rectangle2D r)将此Rectangle2D设置为与指定的Rectangle2D相同。static voidunion(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)联合源对Rectangle2D对,并将结果放入指定的目标Rectangle2D对象。-  
               声明方法的类 java.awt.geom.RectangularShapeclone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal
 
-  
               
 
-  
             
-  
        
       -  
             字段详细信息-  OUT_LEFTpublic static final int OUT_LEFT 位掩码,指示某个点位于此Rectangle2D的左侧。- 从以下版本开始:
- 1.2
- 另请参见:
- 常数字段值
 
 -  OUT_TOPpublic static final int OUT_TOP 位掩码,指示某个点位于此Rectangle2D。- 从以下版本开始:
- 1.2
- 另请参见:
- 常数字段值
 
 -  OUT_RIGHTpublic static final int OUT_RIGHT 位掩码,指示某个点位于此Rectangle2D的右侧。- 从以下版本开始:
- 1.2
- 另请参见:
- 常数字段值
 
 -  OUT_BOTTOMpublic static final int OUT_BOTTOM 位掩码,指示某个点位于此Rectangle2D。- 从以下版本开始:
- 1.2
- 另请参见:
- 常数字段值
 
 
-  
 -  
             构造方法详细信息-  Rectangle2Dprotected Rectangle2D() 这是一个无法直接实例化的抽象类。 特定于类型的实现子类可用于实例化,并提供许多格式用于存储满足以下各种访问器方法所必需的信息。- 从以下版本开始:
- 1.2
- 另请参见:
-  
              Rectangle2D.Float,Rectangle2D.Double,Rectangle
 
 
-  
 -  
             方法详细信息-  setRectpublic abstract void setRect(double x, double y, double w, double h)将此Rectangle2D的位置和大小设置为指定的double值。- 参数
-  
              x- 此Rectangle2D左上角的X坐标
-  
              y- 此Rectangle2D左上角的Y坐标
-  
              w- 这个宽度Rectangle2D
-  
              h- 这个高度Rectangle2D
- 从以下版本开始:
- 1.2
 
 -  setRectpublic void setRect(Rectangle2D r) 将此Rectangle2D设置为与指定的Rectangle2D相同。- 参数
-  
              r- 指定的Rectangle2D
- 从以下版本开始:
- 1.2
 
 -  intersectsLinepublic boolean intersectsLine(double x1, double y1, double x2, double y2)测试指定的线段是否与此Rectangle2D的内部相交。- 参数
-  
              x1- 指定线段起点的X坐标
-  
              y1- 指定线段起点的Y坐标
-  
              x2- 指定线段的终点的X坐标
-  
              y2- 指定线段的终点的Y坐标
- 结果
-  
              true如果指定的线段与此Rectangle2D的内部相交; 否则为false。
- 从以下版本开始:
- 1.2
 
 -  intersectsLinepublic boolean intersectsLine(Line2D l) 测试指定的线段是否与此Rectangle2D的内部相交。- 参数
-  
              l- 指定Line2D以测试与此内部的Rectangle2D
- 结果
-  
              true若指定的Line2D与此Rectangle2D的内部相交; 否则为false。
- 从以下版本开始:
- 1.2
 
 -  outcodepublic abstract int outcode(double x, double y)确定指定坐标相对于此Rectangle2D。 此方法计算相应掩码值的二进制OR,表示对于此Rectangle2D每一侧,指定的坐标是否与该Rectangle2D的其余部分位于边缘的同一侧。- 参数
-  
              x- 指定的X坐标
-  
              y- 指定的Y坐标
- 结果
- 所有适当输出代码的逻辑或。
- 从以下版本开始:
- 1.2
- 另请参见:
-  
              OUT_LEFT,OUT_TOP,OUT_RIGHT,OUT_BOTTOM
 
 -  outcodepublic int outcode(Point2D p) 确定指定的Point2D相对于此Rectangle2D。 此方法计算适当的掩码值的二进制OR,表示对于此Rectangle2D每一侧,指定的Point2D是否与该Rectangle2D的其余部分位于边缘的同一侧。- 参数
-  
              p- 指定的Point2D
- 结果
- 所有适当输出代码的逻辑或。
- 从以下版本开始:
- 1.2
- 另请参见:
-  
              OUT_LEFT,OUT_TOP,OUT_RIGHT,OUT_BOTTOM
 
 -  setFramepublic void setFrame(double x, double y, double w, double h)将此Rectangle2D的外边界的位置和大小设置为指定的矩形值。- Specified by:
-  
              setFrame在类RectangularShape
- 参数
-  
              x- 此Rectangle2D左上角的X坐标
-  
              y- 此Rectangle2D左上角的Y坐标
-  
              w- 这个宽度Rectangle2D
-  
              h- 这个高度Rectangle2D
- 从以下版本开始:
- 1.2
- 另请参见:
-  
              RectangularShape.getFrame()
 
 -  getBounds2Dpublic Rectangle2D getBounds2D() 返回Shape高精度和更精确的边界框,而不是getBounds方法。 请注意,不保证返回的Rectangle2D是最小的边框包围Shape,只表示Shape完全在指定的范围内Rectangle2D。 此方法返回的边界框通常比getBounds方法返回的边界框更紧密,并且由于溢出问题而永远不会失败,因为返回值可以是使用双精度值来存储尺寸的Rectangle2D的实例。请注意, definition of insideness可能会导致shape定义轮廓上的 shape可能不被视为包含在返回的bounds对象中,但仅限于原始shape不包含这些点的情况。如果 point是内部shape根据contains(point)方法,那么它必须是内部返回Rectangle2D界限根据对象contains(point)所述的方法bounds。 特别:shape.contains(p)需要bounds.contains(p)如果 point不在shape,则它可能仍包含在bounds对象中:bounds.contains(p)并不shape.contains(p)- 结果
- 
               的实例 
              Rectangle2D那是一个高精度边界框Shape。
- 从以下版本开始:
- 1.2
- 另请参见:
-  
              Shape.getBounds()
 
 -  containspublic boolean contains(double x, double y)测试指定的坐标是否在Shape的边界内,如 definition of insideness所述 。- 参数
-  
              x- 要测试的指定X坐标
-  
              y- 要测试的指定Y坐标
- 结果
-  
              true如果指定的坐标位于Shape边界内; 否则为false。
- 从以下版本开始:
- 1.2
 
 -  intersectspublic 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
 
-  矩形区域与
 -  containspublic 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
- 另请参见:
-  
              Area,Shape.intersects(double, double, double, double)
 
-  
 -  createIntersectionpublic abstract Rectangle2D createIntersection(Rectangle2D r) 返回一个新的Rectangle2D对象,表示此Rectangle2D与指定的Rectangle2D。- 参数
-  
              r-Rectangle2D与此Rectangle2D相交
- 结果
- 
               最大的 
              Rectangle2D包含在指定的Rectangle2D和Rectangle2D。
- 从以下版本开始:
- 1.2
 
 -  intersectpublic static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest) 将指定的源对Rectangle2D对象相交,并将结果放入指定的目标Rectangle2D对象中。 其中一个源矩形也可以是避免创建第三个Rectangle2D对象的目标,但在这种情况下,此源矩形的原始点将被此方法覆盖。- 参数
-  
              src1- 一对Rectangle2D对象中的第一个相互交叉
-  
              src2- 一对Rectangle2D对象中的第二个相互交叉
-  
              dest-所述Rectangle2D保存的交集的结果src1和src2
- 从以下版本开始:
- 1.2
 
 -  createUnionpublic abstract Rectangle2D createUnion(Rectangle2D r) 返回一个新的Rectangle2D对象,表示此Rectangle2D与指定的Rectangle2D。- 参数
-  
              r-Rectangle2D与此Rectangle2D结合使用
- 结果
- 
               最小的 
              Rectangle2D包含指定的Rectangle2D和Rectangle2D。
- 从以下版本开始:
- 1.2
 
 -  unionpublic static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest) 联合源对Rectangle2D对,并将结果放入指定的目标Rectangle2D对象。 其中一个源矩形也可以是避免创建第三个Rectangle2D对象的目标,但在这种情况下,此源矩形的原始点将被此方法覆盖。- 参数
-  
              src1- 一对Rectangle2D对象中的第一个要相互组合
-  
              src2- 一对Rectangle2D对象中的第二个要相互组合
-  
              dest-Rectangle2D,其中包含src1和src2的联合结果
- 从以下版本开始:
- 1.2
 
 -  addpublic void add(double newx, double newy)将双精度参数newx和newy指定的点添加到此Rectangle2D。 结果Rectangle2D是最小的Rectangle2D,包含原始的Rectangle2D和指定的点。添加一个点后,使用添加的点作为参数调用 contains不一定返回true。 对于矩形的右边缘或底边缘上的点,contains方法不返回true。 因此,如果添加的点落在放大矩形的左边缘或底边缘上,则contains将返回该点的false。- 参数
-  
              newx- 新点的X坐标
-  
              newy- 新点的Y坐标
- 从以下版本开始:
- 1.2
 
 -  addpublic void add(Point2D pt) 将Point2D对象pt添加到此Rectangle2D。 结果Rectangle2D是最小的Rectangle2D,包含原始的Rectangle2D和指定的Point2D。添加一个点后,使用添加的点作为参数调用 contains不一定返回true。 对于矩形的右边缘或底边缘上的点,contains方法不返回true。 因此,如果添加的点落在放大矩形的左边缘或底边缘上,则contains将返回该点的false。- 参数
-  
              pt- 新增Point2D加入此Rectangle2D。
- 从以下版本开始:
- 1.2
 
 -  addpublic void add(Rectangle2D r) 添加Rectangle2D对象到此Rectangle2D。 结果Rectangle2D是两个Rectangle2D对象的并集。- 参数
-  
              r-将Rectangle2D添加到这个Rectangle2D。
- 从以下版本开始:
- 1.2
 
 -  getPathIteratorpublic PathIterator getPathIterator(AffineTransform at) 返回定义此Rectangle2D边界的迭代对象。 此类的迭代器是多线程安全的,这意味着此Rectangle2D类保证对此Rectangle2D对象的几何的修改不会影响已在进行中的该几何的任何迭代。- 参数
-  
              at- 可选的AffineTransform应用于迭代中返回的坐标,如果需要未转换的坐标则null
- 结果
-  
              PathIterator对象,返回此Rectangle2D轮廓的几何,一次一个段。
- 从以下版本开始:
- 1.2
 
 -  getPathIteratorpublic PathIterator getPathIterator(AffineTransform at, double flatness) 返回一个迭代对象,该对象定义展平的Rectangle2D的边界。 由于矩形已经是平坦的,因此忽略flatness参数。 此类的迭代器是多线程安全的,这意味着此Rectangle2D类保证对此Rectangle2D对象的几何的修改不会影响已在进行中的该几何的任何迭代。- Specified by:
-  
              getPathIterator在界面Shape
- 重写:
-  
              getPathIterator在类RectangularShape
- 参数
-  
              at- 在迭代中返回时应用于坐标的可选AffineTransformnull如果需要未转换的坐标,则null
-  
              flatness- 允许用于近似弯曲段的线段的最大距离偏离原始曲线上的任何点。 由于矩形已经是平坦的,因此忽略flatness参数。
- 结果
-  
              PathIterator对象,返回此Rectangle2D轮廓的几何,一次一个段。
- 从以下版本开始:
- 1.2
 
 -  hashCodepublic int hashCode() 返回此Rectangle2D的哈希Rectangle2D。- 重写:
-  
              hashCode类Object
- 结果
- 
               这个 
              Rectangle2D的哈希Rectangle2D。
- 从以下版本开始:
- 1.2
- 另请参见:
-  
              Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
 
 -  equalspublic boolean equals(Object obj) 确定指定的Object是否等于此Rectangle2D。 指定Object等于该Rectangle2D如果是的一个实例Rectangle2D,如果它的位置和大小是相同的,因为这Rectangle2D。- 重写:
-  
              equals在类Object
- 参数
-  
              obj-一个Object与此相比较Rectangle2D。
- 结果
-  
              true如果obj是的一个实例Rectangle2D,并具有相同的值; 否则为false。
- 从以下版本开始:
- 1.2
- 另请参见:
-  
              Object.hashCode(),HashMap
 
 
-  
 
-