|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.awt.geom.Area
Area
类是任意形状区域的与设备无关的规范。Area
对象是作为对其他封闭区域的几何形状(如矩形、椭圆形和多边形)执行某些二进制 CAG(构造区域几何图形,Constructive Area Geometry)操作的对象而定义的。CAG 操作包括 Add(union)、Subtract、Intersect 和 ExclusiveOR。例如,一个 Area
可以由一个矩形区域减去一个椭圆形区域组成。
构造方法摘要 | |
---|---|
Area()
创建空区域的默认构造方法。 |
|
Area(Shape s)
Area 类可以根据指定的 Shape 对象创建区域几何形状。 |
方法摘要 | |
---|---|
void |
add(Area rhs)
将指定 Area 的形状添加到此 Area 的形状中。 |
Object |
clone()
返回此 Area 对象的确切副本。 |
boolean |
contains(double x,
double y)
测试指定点是否位于此 Area 对象的边界内。 |
boolean |
contains(double x,
double y,
double w,
double h)
测试此 Area 对象的内部是否完全包含指定的矩形区域。 |
boolean |
contains(Point2D p)
测试指定的 Point2D 是否位于此 Area 对象的边界内。 |
boolean |
contains(Rectangle2D p)
测试此 Area 对象的内部是否完全包含指定的 Rectangle2D 。 |
Area |
createTransformedArea(AffineTransform t)
创建一个新 Area 对象,使它与由指定 AffineTransform 变换的 Area 包含相同的几何形状。 |
boolean |
equals(Area other)
测试两个 Area 对象的几何形状是否相等。 |
void |
exclusiveOr(Area rhs)
将此 Area 的形状设置为其当前形状与指定 Area 形状的组合区域,并减去其交集。 |
Rectangle |
getBounds()
返回完全包围此 Area 的边界 Rectangle 。 |
Rectangle2D |
getBounds2D()
返回完全包围此 Area 的高精度边界 Rectangle2D 。 |
PathIterator |
getPathIterator(AffineTransform at)
为此 Area 对象的轮廓创建 PathIterator 。 |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
为此 Area 对象的变平轮廓创建 PathIterator 。 |
void |
intersect(Area rhs)
将此 Area 的形状设置为其当前形状与指定 Area 形状的交集。 |
boolean |
intersects(double x,
double y,
double w,
double h)
测试此 Area 对象的内部是否与指定矩形区域的内部相交。 |
boolean |
intersects(Rectangle2D p)
测试此 Area 对象的内部是否与指定 Rectangle2D 的内部相交。 |
boolean |
isEmpty()
测试此 Area 对象是否包括其他区域。 |
boolean |
isPolygonal()
测试此 Area 是否完全由直边多边形组成。 |
boolean |
isRectangular()
测试此 Area 的形状是否是矩形。 |
boolean |
isSingular()
测试此 Area 是否由单个封闭子路径组成。 |
void |
reset()
从此 Area 删除所有几何形状,将其恢复为空区域。 |
void |
subtract(Area rhs)
从此 Area 的形状中减去指定 Area 的形状。 |
void |
transform(AffineTransform t)
使用指定的 AffineTransform 变换此 Area 的几何形状。 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public Area()
public Area(Shape s)
Area
类可以根据指定的 Shape
对象创建区域几何形状。如果 Shape
还不是封闭的,则显式地封闭几何形状。由 Shape
的几何形状指定的填充规则(奇偶或缠绕)用于确定所产生的封闭区域。
s
- 用于构造区域的 Shape
方法详细信息 |
---|
public void add(Area rhs)
Area
的形状添加到此 Area
的形状中。添加操作是通过 union 实现的。
rhs
- 要添加到当前形状的 Area
public void subtract(Area rhs)
Area
的形状中减去指定 Area
的形状。
rhs
- 要从当前形状减去的 Area
public void intersect(Area rhs)
Area
的形状设置为其当前形状与指定 Area
形状的交集。
rhs
- 要与此 Area
相交的 Area
public void exclusiveOr(Area rhs)
Area
的形状设置为其当前形状与指定 Area
形状的组合区域,并减去其交集。
rhs
- 要与此 Area
进行异或运算的 Area
。public void reset()
Area
删除所有几何形状,将其恢复为空区域。
public boolean isEmpty()
Area
对象是否包括其他区域。
Area
对象表示空区域,则返回 true
;否则返回 false
。public boolean isPolygonal()
Area
是否完全由直边多边形组成。
Area
全部由线段组成,则返回 true
;否则返回 false
。public boolean isRectangular()
Area
的形状是否是矩形。
Area
的几何形状是矩形,则返回 true
;否则返回 false
。public boolean isSingular()
Area
是否由单个封闭子路径组成。如果路径包含 0 个或 1 个子路径,则此方法返回 true
;如果路径包含 1 个以上的子路径,则返回 false
。子路径是根据路径中出现的 SEG_MOVETO
段数来计算的。
Area
由单个基本几何形状组成,则返回 true
;否则返回 false
。public Rectangle2D getBounds2D()
Area
的高精度边界 Rectangle2D
。
Area 类将尽量为 Shape 返回可能的最紧密的边界框。不要填充边界框以包含 Shape 轮廓上的曲线的控制点,而应该让边界框紧密地适合轮廓本身的实际几何形状。
Shape
中的 getBounds2D
Area
的边界 Rectangle2D
。Shape.getBounds()
public Rectangle getBounds()
Area
的边界 Rectangle
。
Area 类将尽量为 Shape 返回可能的最紧密的边界框。不要填充边界框以包含 Shape 轮廓上的曲线的控制点,而应该让边界框紧密地适合轮廓本身的实际几何形状。因为返回的对象使用整数表示边界框,所以边界框只能是围绕 Shape 几何形状尽可能紧密的整数坐标。
Area
的边界 Rectangle
。Shape.getBounds2D()
public Object clone()
public boolean equals(Area other)
Area
对象的几何形状是否相等。
other
- 要与此 Area
比较的 Area
true
;否则返回 false
。public void transform(AffineTransform t)
AffineTransform
变换此 Area
的几何形状。原地变换几何形状,它将永久更改由此对象定义的封闭区域。
t
- 用于变换区域的变换public Area createTransformedArea(AffineTransform t)
Area
对象,使它与由指定 AffineTransform
变换的 Area
包含相同的几何形状。此 Area
对象不改变。
t
- 用于变换新 Area
的指定 AffineTransform
Area
对象。public boolean contains(double x, double y)
Area
对象的边界内。
x, y
- 指定的点
Area
的内部,则返回 true
;否则返回 false
。public boolean contains(Point2D p)
Point2D
是否位于此 Area
对象的边界内。
p
- 要测试的 Point2D
Point2D
完全位于 Area
的内部,则返回 true
;否则返回 false
。public boolean contains(double x, double y, double w, double h)
Area
对象的内部是否完全包含指定的矩形区域。
x, y
- 指定矩形区域左上角的坐标w
- 指定矩形区域的宽度h
- 指定矩形区域的高度
Area
的内部,则返回 true
;否则返回 false
。Area
,
Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D p)
Area
对象的内部是否完全包含指定的 Rectangle2D
。
p
- 要测试的 Rectangle2D
Rectangle2D
完全位于 Area
的内部,则返回 true
;否则返回 false
。Shape.contains(double, double, double, double)
public boolean intersects(double x, double y, double w, double h)
Area
对象的内部是否与指定矩形区域的内部相交。
Shape
中的 intersects
x, y
- 指定矩形区域左上角的坐标w
- 指定矩形区域的宽度h
- 指定矩形区域的高度
true
;否则返回 false
。Area
public boolean intersects(Rectangle2D p)
Area
对象的内部是否与指定 Rectangle2D
的内部相交。
Shape
中的 intersects
p
- 要测试是否相交的 Rectangle2D
Rectangle2D
相交,则返回 true
;否则返回 false
。Shape.intersects(double, double, double, double)
public PathIterator getPathIterator(AffineTransform at)
Area
对象的轮廓创建 PathIterator
。此 Area
对象不改变。
Shape
中的 getPathIterator
at
- 一个可选的 AffineTransform
,用于在迭代中返回的坐标,如果需要未变换的坐标,则为 null
Area
轮廓几何形状的 PathIterator
对象,一次一段。public PathIterator getPathIterator(AffineTransform at, double flatness)
Area
对象的变平轮廓创建 PathIterator
。迭代器只返回由 SEG_MOVETO、SEG_LINETO 和 SEG_CLOSE 点类型所表示的非曲线路径段。此 Area
对象不改变。
Shape
中的 getPathIterator
at
- 一个可选的 AffineTransform
,用于迭代中返回的坐标,如果需要未变换的坐标,则为 null
flatness
- 在由连接端点的直线取代细分曲线之前,给定曲线的控制点可以从共线变化的最大量
Area
轮廓几何形状的 PathIterator
对象,一次一段。
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。