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, setFrameFromDiagonal
public 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
和intersect
Shape
完全包含矩形区域是昂贵的计算。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.