- 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.RectangularShape
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
字段详细信息
-  
OUT_LEFT
public static final int OUT_LEFT
位掩码,指示某个点位于此Rectangle2D的左侧。- 从以下版本开始:
 - 1.2
 - 另请参见:
 - 常数字段值
 
 
-  
OUT_TOP
public static final int OUT_TOP
位掩码,指示某个点位于此Rectangle2D。- 从以下版本开始:
 - 1.2
 - 另请参见:
 - 常数字段值
 
 
-  
OUT_RIGHT
public static final int OUT_RIGHT
位掩码,指示某个点位于此Rectangle2D的右侧。- 从以下版本开始:
 - 1.2
 - 另请参见:
 - 常数字段值
 
 
-  
OUT_BOTTOM
public static final int OUT_BOTTOM
位掩码,指示某个点位于此Rectangle2D。- 从以下版本开始:
 - 1.2
 - 另请参见:
 - 常数字段值
 
 
 -  
 
-  
             
构造方法详细信息
-  
Rectangle2D
protected Rectangle2D()
这是一个无法直接实例化的抽象类。 特定于类型的实现子类可用于实例化,并提供许多格式用于存储满足以下各种访问器方法所必需的信息。- 从以下版本开始:
 - 1.2
 - 另请参见:
 -  
              
Rectangle2D.Float,Rectangle2D.Double,Rectangle 
 
 -  
 
-  
             
方法详细信息
-  
setRect
public 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
 
 
-  
setRect
public void setRect(Rectangle2D r)
将此Rectangle2D设置为与指定的Rectangle2D相同。- 参数
 -  
              
r- 指定的Rectangle2D - 从以下版本开始:
 - 1.2
 
 
-  
intersectsLine
public boolean intersectsLine(double x1, double y1, double x2, double y2)测试指定的线段是否与此Rectangle2D的内部相交。- 参数
 -  
              
x1- 指定线段起点的X坐标 -  
              
y1- 指定线段起点的Y坐标 -  
              
x2- 指定线段的终点的X坐标 -  
              
y2- 指定线段的终点的Y坐标 - 结果
 -  
              
true如果指定的线段与此Rectangle2D的内部相交; 否则为false。 - 从以下版本开始:
 - 1.2
 
 
-  
intersectsLine
public boolean intersectsLine(Line2D l)
测试指定的线段是否与此Rectangle2D的内部相交。- 参数
 -  
              
l- 指定Line2D以测试与此内部的Rectangle2D - 结果
 -  
              
true若指定的Line2D与此Rectangle2D的内部相交; 否则为false。 - 从以下版本开始:
 - 1.2
 
 
-  
outcode
public 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 
 
-  
outcode
public int outcode(Point2D p)
确定指定的Point2D相对于此Rectangle2D。 此方法计算适当的掩码值的二进制OR,表示对于此Rectangle2D每一侧,指定的Point2D是否与该Rectangle2D的其余部分位于边缘的同一侧。- 参数
 -  
              
p- 指定的Point2D - 结果
 - 所有适当输出代码的逻辑或。
 - 从以下版本开始:
 - 1.2
 - 另请参见:
 -  
              
OUT_LEFT,OUT_TOP,OUT_RIGHT,OUT_BOTTOM 
 
-  
setFrame
public 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() 
 
-  
getBounds2D
public 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() 
 
-  
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
 - 另请参见:
 -  
              
Area,Shape.intersects(double, double, double, double) 
 -  
 
-  
createIntersection
public abstract Rectangle2D createIntersection(Rectangle2D r)
返回一个新的Rectangle2D对象,表示此Rectangle2D与指定的Rectangle2D。- 参数
 -  
              
r-Rectangle2D与此Rectangle2D相交 - 结果
 - 
               最大的 
              
Rectangle2D包含在指定的Rectangle2D和Rectangle2D。 - 从以下版本开始:
 - 1.2
 
 
-  
intersect
public static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
将指定的源对Rectangle2D对象相交,并将结果放入指定的目标Rectangle2D对象中。 其中一个源矩形也可以是避免创建第三个Rectangle2D对象的目标,但在这种情况下,此源矩形的原始点将被此方法覆盖。- 参数
 -  
              
src1- 一对Rectangle2D对象中的第一个相互交叉 -  
              
src2- 一对Rectangle2D对象中的第二个相互交叉 -  
              
dest-所述Rectangle2D保存的交集的结果src1和src2 - 从以下版本开始:
 - 1.2
 
 
-  
createUnion
public abstract Rectangle2D createUnion(Rectangle2D r)
返回一个新的Rectangle2D对象,表示此Rectangle2D与指定的Rectangle2D。- 参数
 -  
              
r-Rectangle2D与此Rectangle2D结合使用 - 结果
 - 
               最小的 
              
Rectangle2D包含指定的Rectangle2D和Rectangle2D。 - 从以下版本开始:
 - 1.2
 
 
-  
union
public static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
联合源对Rectangle2D对,并将结果放入指定的目标Rectangle2D对象。 其中一个源矩形也可以是避免创建第三个Rectangle2D对象的目标,但在这种情况下,此源矩形的原始点将被此方法覆盖。- 参数
 -  
              
src1- 一对Rectangle2D对象中的第一个要相互组合 -  
              
src2- 一对Rectangle2D对象中的第二个要相互组合 -  
              
dest-Rectangle2D,其中包含src1和src2的联合结果 - 从以下版本开始:
 - 1.2
 
 
-  
add
public void add(double newx, double newy)将双精度参数newx和newy指定的点添加到此Rectangle2D。 结果Rectangle2D是最小的Rectangle2D,包含原始的Rectangle2D和指定的点。添加一个点后,使用添加的点作为参数调用
contains不一定返回true。 对于矩形的右边缘或底边缘上的点,contains方法不返回true。 因此,如果添加的点落在放大矩形的左边缘或底边缘上,则contains将返回该点的false。- 参数
 -  
              
newx- 新点的X坐标 -  
              
newy- 新点的Y坐标 - 从以下版本开始:
 - 1.2
 
 
-  
add
public void add(Point2D pt)
将Point2D对象pt添加到此Rectangle2D。 结果Rectangle2D是最小的Rectangle2D,包含原始的Rectangle2D和指定的Point2D。添加一个点后,使用添加的点作为参数调用
contains不一定返回true。 对于矩形的右边缘或底边缘上的点,contains方法不返回true。 因此,如果添加的点落在放大矩形的左边缘或底边缘上,则contains将返回该点的false。- 参数
 -  
              
pt- 新增Point2D加入此Rectangle2D。 - 从以下版本开始:
 - 1.2
 
 
-  
add
public void add(Rectangle2D r)
添加Rectangle2D对象到此Rectangle2D。 结果Rectangle2D是两个Rectangle2D对象的并集。- 参数
 -  
              
r-将Rectangle2D添加到这个Rectangle2D。 - 从以下版本开始:
 - 1.2
 
 
-  
getPathIterator
public PathIterator getPathIterator(AffineTransform at)
返回定义此Rectangle2D边界的迭代对象。 此类的迭代器是多线程安全的,这意味着此Rectangle2D类保证对此Rectangle2D对象的几何的修改不会影响已在进行中的该几何的任何迭代。- 参数
 -  
              
at- 可选的AffineTransform应用于迭代中返回的坐标,如果需要未转换的坐标则null - 结果
 -  
              
PathIterator对象,返回此Rectangle2D轮廓的几何,一次一个段。 - 从以下版本开始:
 - 1.2
 
 
-  
getPathIterator
public 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
 
 
-  
hashCode
public int hashCode()
返回此Rectangle2D的哈希Rectangle2D。- 重写:
 -  
              
hashCode类Object - 结果
 - 
               这个 
              
Rectangle2D的哈希Rectangle2D。 - 从以下版本开始:
 - 1.2
 - 另请参见:
 -  
              
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object) 
 
-  
equals
public boolean equals(Object obj)
确定指定的Object是否等于此Rectangle2D。 指定Object等于该Rectangle2D如果是的一个实例Rectangle2D,如果它的位置和大小是相同的,因为这Rectangle2D。- 重写:
 -  
              
equals在类Object - 参数
 -  
              
obj-一个Object与此相比较Rectangle2D。 - 结果
 -  
              
true如果obj是的一个实例Rectangle2D,并具有相同的值; 否则为false。 - 从以下版本开始:
 - 1.2
 - 另请参见:
 -  
              
Object.hashCode(),HashMap 
 
 -  
 
 -