public abstract class Rectangle2D extends RectangularShape
Rectangle2D类描述了一个矩形的位置和尺寸
(w x h)
(x,y)。
这类是所有对象的二维矩形存储抽象类。坐标的实际存储表示形式留给子类。
| Modifier and Type | Class and Description |
|---|---|
static class |
Rectangle2D.Double
的
Double类定义了一个矩形的双坐标指定。
|
static class |
Rectangle2D.Float
的
Float类定义了一个矩形指定浮点坐标。
|
| Modifier and Type | Field and Description |
|---|---|
static int |
OUT_BOTTOM
的位掩码,表示一个点在这
Rectangle2D。
|
static int |
OUT_LEFT
的位掩码,表示一个点在这
Rectangle2D左。
|
static int |
OUT_RIGHT
的位掩码,表示一个点在这
Rectangle2D权。
|
static int |
OUT_TOP
的位掩码,表示一个点在这
Rectangle2D。
|
| Modifier | Constructor and Description |
|---|---|
protected |
Rectangle2D()
这是一个抽象类不能被直接实例化。
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(double newx, double newy)
补充一点,用双精度的参数
newx和
newy指定,这
Rectangle2D。
|
void |
add(Point2D pt)
加
Point2D对象
pt这
Rectangle2D。
|
void |
add(Rectangle2D r)
增加了一个
Rectangle2D反对这
Rectangle2D。
|
boolean |
contains(double x, double y)
如果指定的坐标的
Shape边界内,由
definition of insideness描述。
|
boolean |
contains(double x, double y, double w, double h)
如果
Shape测试的内部完全包含指定的矩形区域。
|
abstract Rectangle2D |
createIntersection(Rectangle2D r)
返回一个新的
Rectangle2D对象表示与指定的
Rectangle2D这
Rectangle2D路口。
|
abstract Rectangle2D |
createUnion(Rectangle2D r)
返回一个新的
Rectangle2D表示这
Rectangle2D与指定的
Rectangle2D联盟。
|
boolean |
equals(Object obj)
决定是否
Object等于这
Rectangle2D。
|
Rectangle2D |
getBounds2D()
返回一个高的精度和更精确的包围盒的
Shape比
getBounds方法。
|
PathIterator |
getPathIterator(AffineTransform at)
返回一个迭代定义这
Rectangle2D边界。
|
PathIterator |
getPathIterator(AffineTransform at, double flatness)
返回一个迭代定义的扁平
Rectangle2D边界。
|
int |
hashCode()
返回此
Rectangle2D hashCode。
|
static void |
intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
与指定的源
Rectangle2D对象对把结果到指定的目的地
Rectangle2D对象。
|
boolean |
intersects(double x, double y, double w, double h)
如果
Shape测试的内部与一个指定的矩形区域内。
|
boolean |
intersectsLine(double x1, double y1, double x2, double y2)
如果指定的线段相交的这
Rectangle2D内部。
|
boolean |
intersectsLine(Line2D l)
如果指定的线段相交的这
Rectangle2D内部。
|
abstract int |
outcode(double x, double y)
确定指定的坐标是相对于这个
Rectangle2D。
|
int |
outcode(Point2D p)
确定指定的
Point2D谎言就这
Rectangle2D。
|
void |
setFrame(double x, double y, double w, double h)
设置指定的矩形值位置的
Rectangle2D外边界和大小。
|
abstract void |
setRect(double x, double y, double w, double h)
设置为指定值的位置
double这
Rectangle2D和大小。
|
void |
setRect(Rectangle2D r)
设置为指定的
Rectangle2D同这
Rectangle2D。
|
static void |
union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
工会源
Rectangle2D对象对把结果到指定的目的地
Rectangle2D对象。
|
clone, contains, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonalpublic static final int OUT_LEFT
Rectangle2D左。
public static final int OUT_TOP
Rectangle2D。
public static final int OUT_RIGHT
Rectangle2D权。
public static final int OUT_BOTTOM
Rectangle2D。
protected Rectangle2D()
Rectangle2D.Float,
Rectangle2D.Double,
Rectangle
public abstract void setRect(double x,
double y,
double w,
double h)
double这
Rectangle2D和大小。
x -这
Rectangle2D左上角的x坐标
y -这
Rectangle2D左上角的Y坐标
w -这
Rectangle2D宽度
h -这
Rectangle2D高度
public void setRect(Rectangle2D r)
Rectangle2D同这
Rectangle2D。
r -指定
Rectangle2D
public boolean intersectsLine(double x1,
double y1,
double x2,
double y2)
Rectangle2D内部。
x1 -指定的线段的起始点坐标
y1 -指定的线段的起始点的Y坐标
x2 -指定的线段的结束点的X坐标
y2 -指定的线段的结束点的Y坐标
true如果指定线段相交的这
Rectangle2D内部;
false否则。
public boolean intersectsLine(Line2D l)
Rectangle2D内部。
l -指定
Line2D为本
Rectangle2D内部交叉试验
true如果指定
Line2D相交这
Rectangle2D内部;
false否则。
public abstract int outcode(double x,
double y)
Rectangle2D。这种方法计算出一个二进制或合适的掩码值指示,为本
Rectangle2D每边,是否指定的坐标是在边缘的同侧,这
Rectangle2D休息。
x -指定的X坐标
y -指定的y坐标
OUT_LEFT,
OUT_TOP,
OUT_RIGHT,
OUT_BOTTOM
public int outcode(Point2D p)
Point2D谎言就这
Rectangle2D。这种方法计算出一个二进制或合适的掩码值指示,为本
Rectangle2D每边,是否
Point2D是在边缘的同侧,这
Rectangle2D休息。
p -指定
Point2D
OUT_LEFT,
OUT_TOP,
OUT_RIGHT,
OUT_BOTTOM
public void setFrame(double x,
double y,
double w,
double h)
Rectangle2D外边界和大小。
setFrame 方法重写,继承类
RectangularShape
x -这
Rectangle2D左上角的x坐标
y -这
Rectangle2D左上角的Y坐标
w -这
Rectangle2D宽度
h -这
Rectangle2D高度
RectangularShape.getFrame()
public Rectangle2D getBounds2D()
Shape比
getBounds方法。需要注意的是不能保证返回的
Rectangle2D是最小包围盒包围
Shape,只有
Shape完全在于在显示
Rectangle2D。包围盒返回此方法通常是更严格的比
getBounds返回的方法,永远不会失败由于溢出的问题由于返回值可以是使用双精度值存储维度的
Rectangle2D实例。
请注意, definition of insideness可导致的情况下,点上的shape定义轮廓可能不被视为包含在返回的bounds对象,但只有在这些点的情况下,也不被认为是包含在原始的shape。
如果一个point在shape根据contains(point)方法,那么它必须在返回的Rectangle2D界根据的bounds的contains(point)方法对象。明确地:
shape.contains(p)需要bounds.contains(p)
如果一个point是不是在shape,那么它可能仍然包含在bounds对象:
bounds.contains(p)并不意味着shape.contains(p)
Rectangle2D包围盒的
Shape实例。
Shape.getBounds()
public boolean contains(double x,
double y)
Shape边界内,由
definition of insideness描述。
x -指定的x坐标进行测试
y -指定的y坐标进行测试
true如果指定坐标的
Shape边界内;
false否则。
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否则太贵。
Area
public boolean contains(double x,
double y,
double w,
double h)
Shape测试的内部完全包含指定的矩形区域。所有的坐标,在矩形区域必须位于
Shape整个矩形区域被认为是包含在
Shape。
的Shape.contains()方法允许Shape实施保守的回报false时:
true和intersectShape完全包含矩形区域是昂贵的计算。Shapes这个方法可能返回
false即使
Shape包含矩形区域。的
Area类执行更精确的几何计算比大多数
Shape对象,因此可以更准确的答案是需要用。
x -指定的矩形区域左上角的x坐标
y -指定的矩形区域的左上角的Y坐标
w -指定的矩形区域的宽度
h -指定矩形区域的高度
true如果的
Shape内部完全包含指定矩形区域;
false否则,如果
Shape包含矩形面积和
intersects方法返回
true和遏制的计算是执行太贵。
Area,
Shape.intersects(double, double, double, double)
public abstract Rectangle2D createIntersection(Rectangle2D r)
Rectangle2D对象表示与指定的
Rectangle2D这
Rectangle2D路口。
r -
Rectangle2D是相交的这
Rectangle2D
Rectangle2D在这
Rectangle2D中最大的
Rectangle2D。
public static void intersect(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Rectangle2D对象对把结果到指定的目的地
Rectangle2D对象。其中一个源矩形还可以目的地三分之一rectangle2d避免创建对象,但在这种情况下,这个源矩形的原始点,将用这种方法被覆盖。
src1 -一对
Rectangle2D对象是彼此交叉的第一
src2 -一对
Rectangle2D对象必须相交的第二
dest,持有的
src1和
src2相交的结果
Rectangle2D
public abstract Rectangle2D createUnion(Rectangle2D r)
Rectangle2D表示这
Rectangle2D与指定的
Rectangle2D联盟。
r -
Rectangle2D要结合本
Rectangle2D
Rectangle2D包含指定的
Rectangle2D这
Rectangle2D。
public static void union(Rectangle2D src1, Rectangle2D src2, Rectangle2D dest)
Rectangle2D对象对把结果到指定的目的地
Rectangle2D对象。其中一个源矩形还可以目的地三分之一rectangle2d避免创建对象,但在这种情况下,这个源矩形的原始点,将用这种方法被覆盖。
src1 -一对
Rectangle2D对象是相互结合的第一
src2 -一对
Rectangle2D对象是相互结合的二
dest,持有的
src1和
src2联盟的结果
Rectangle2D
public void add(double newx,
double newy)
newx和
newy指定,这
Rectangle2D。由此产生的
Rectangle2D是最小的
Rectangle2D包含原
Rectangle2D和指定点。
添加一个点后,一个叫contains加点作为参数不一定回true。的contains方法不返回上一个矩形的右边或底部边缘点true。因此,如果添加点落在大矩形的左边或底部边缘,contains返回false那点。
newx -新的点的x坐标
newy -新的点的Y坐标
public void add(Point2D pt)
Point2D对象
pt这
Rectangle2D。由此产生的
Rectangle2D是最小的
Rectangle2D包含原
Rectangle2D和指定的
Point2D。
添加一个点后,一个叫contains加点作为参数不一定回true,contains方法不返回上一个矩形的右边或底部边缘点true。因此,如果添加点落在大矩形的左边或底部边缘,contains返回false那点。
pt -添加到这个新的
Point2D
Rectangle2D。
public void add(Rectangle2D r)
Rectangle2D反对这
Rectangle2D。由此产生的
Rectangle2D是两
Rectangle2D对象的联盟。
r -
Rectangle2D添加到这
Rectangle2D。
public PathIterator getPathIterator(AffineTransform at)
Rectangle2D边界。这类迭代器是线程安全的,这意味着这
Rectangle2D类保证这
Rectangle2D对象的几何形状的修改不影响任何迭代几何已经在过程。
at可选
AffineTransform被应用到坐标作为他们在迭代返回,或
null如果需要转化的坐标
PathIterator对象,返回该
Rectangle2D轮廓的几何,每次一段。
public PathIterator getPathIterator(AffineTransform at, double flatness)
Rectangle2D边界。由于矩形已经持平,这
flatness参数被忽略。对于这类迭代器是线程安全的,这意味着这
Rectangle2D类保证这
Rectangle2D对象的几何形状的修改不影响任何迭代几何已经在过程。
getPathIterator 接口
Shape
getPathIterator 方法重写,继承类
RectangularShape
at可选
AffineTransform被应用到坐标作为他们在迭代返回,或
null如果需要转化的坐标
flatness,用近似曲线线段的线段偏离原始曲线上的任何点的最大距离。由于矩形已经持平,这
flatness参数被忽略。
PathIterator对象,返回该
Rectangle2D轮廓的几何,每次一段。
public int hashCode()
Rectangle2D hashCode。
hashCode 方法重写,继承类
Object
Rectangle2D hashCode。
Object.equals(java.lang.Object),
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
Object等于这
Rectangle2D。如果是
Rectangle2D实例,如果它的位置和大小都和这
Rectangle2D同指定的
Object等于这
Rectangle2D。
equals 方法重写,继承类
Object
obj -
Object要与此
Rectangle2D相比。
true如果
obj是
Rectangle2D实例具有相同的价值观;
false否则。
Object.hashCode(),
HashMap
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.