public class Area extends Object implements Shape, Cloneable
Area对象存储和操纵一个分辨率独立描述封闭区域的二维空间。
Area对象可以转化,可以执行各种建筑面积几何(CAG)操作时结合其他
Area对象。CAG业务包括地区
addition,
subtraction,
intersection,和
exclusive or。查看链接的方法文档的各种操作的例子。
的Area类实现Shape接口并提供其所有命中测试和路径迭代设施的全面支持,但Area比在许多方面更具体的广义路径:
Area对象隐式关闭施工期间如果这些路径被Graphics2D.fill方法填充。Area纲要相似路径从它只因为它描述同一封闭的二维区域,但可能会使用完全不同的类型和排序的路径段这样做。Area包括:
Area(开)Shape结果在Area对象封闭轮廓。Shape包围没有面积Area(即使“封闭”)产生一个空的Area。这个问题的一个常见的例子是,从生产线Area将空自线包围面积没。一个空的Area迭代没有几何对象的PathIterator。Shape可能分裂成两个(或更多)的子路径围绕一种非相交的部分原始路径。Area可能需要更多的路径段来描述同一个几何即使原始轮廓是显而易见的。这Area类必须对路径进行分析可能不反映同一概念的“浅显”作为人类感知。| Constructor and Description |
|---|
Area()
创建一个空区域的默认构造函数。
|
Area(Shape s)
Area类创建的对象从指定的
Shape面积几何。
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(Area rhs)
添加指定
Area形状这
Area形状。
|
Object |
clone()
返回该对象的精确副本
Area。
|
boolean |
contains(double x, double y)
如果指定的坐标的
Shape边界内,由
definition of insideness描述。
|
boolean |
contains(double x, double y, double w, double h)
如果
Shape测试的内部完全包含指定的矩形区域。
|
boolean |
contains(Point2D p)
|
boolean |
contains(Rectangle2D r)
如果
Shape测试的内部完全包含指定的
Rectangle2D。
|
Area |
createTransformedArea(AffineTransform t)
创建一个新的
Area对象具有相同几何这
Area由指定的
AffineTransform转化。
|
boolean |
equals(Area other)
测试是否两
Area物体的几何形状是平等的。
|
void |
exclusiveOr(Area rhs)
集是其目前的形状组合区域的指定
Area和形状这
Area形状,减它们的交集。
|
Rectangle |
getBounds()
返回一个包围
Rectangle完全包围这
Area。
|
Rectangle2D |
getBounds2D()
返回一个高精度的边界
Rectangle2D完全包围这
Area。
|
PathIterator |
getPathIterator(AffineTransform at)
创建一个物体的轮廓
PathIterator这
Area。
|
PathIterator |
getPathIterator(AffineTransform at, double flatness)
创建一个扁平的轮廓,这
Area对象
PathIterator。
|
void |
intersect(Area rhs)
集在其目前的形状交指定的
Area和形状这
Area形状。
|
boolean |
intersects(double x, double y, double w, double h)
如果
Shape测试的内部与一个指定的矩形区域内。
|
boolean |
intersects(Rectangle2D r)
如果
Shape测试的内部与指定的
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)
将几何这
Area使用指定的
AffineTransform。
|
public Area()
public Area(Shape s)
s -
Shape从该地区的构造
NullPointerException -如果
s是空的
public void add(Area rhs)
Area形状这
Area形状。由此产生的形状,这
Area将包括两个形状的结合,或所有的地区,包含在这或指定的
Area。
/ /例如:A1区=新地区([三角0,0 = > 8,0 = > 0.8 ]);区A2 =新地区([三角0,0 = > 8,0 = > 8,8 ]);添加A1(A2);A1(前)+ A2 = A1(后)################ ################ ############################## ############## ############################ ############ ########################## ########## ######################## ######## ###################### ###### ###### ####### # # # # # # # # # # # # # # ## # # # # # # #
rhs -
Area被添加到当前的形状
NullPointerException -如果
rhs是空的
public void subtract(Area rhs)
Area形状减去指定的
Area形状。产生的形状,这
Area将包括,只包含在这
Area不在指定的
Area
/ /例如:A1区=新地区([三角0,0 = > 8,0 = > 0.8 ]);区A2 =新地区([三角0,0 = > 8,0 = > 8,8 ]);A1减(A2);A1(前)- A2 = A1(后)################ ############################## ############## # ############# ############ # # # ########### ########## ############## ######## ############## ###### ####### # # # # # # # # # # ## # # # # #地区。
rhs -
Area应该从当前的形状中减去
NullPointerException -如果
rhs是空的
public void intersect(Area rhs)
Area和形状这
Area形状。由此产生的形状,这
Area将只包括地区被包含在这
Area并在指定的
Area。
/ /例如:A1区=新地区([三角0,0 = > 8,0 = > 0.8 ]);区A2 =新地区([三角0,0 = > 8,0 = > 8,8 ]);A1相交(A2);A1(前)相交A2 = A1(后)################ ################ ############################## ############## ######################## ############ ################## ########## # # # ######### ############## ####### # # # # # # ## # # #
rhs -
Area是相交的这
Area
NullPointerException -如果
rhs是空的
public void exclusiveOr(Area rhs)
Area和形状这
Area形状,减它们的交集。由此产生的形状,这
Area将只包括区域是包含在这
Area或在指定的
Area,但不在。
/ /例如:A1区=新地区([三角0,0 = > 8,0 = > 0.8 ]);区A2 =新地区([三角0,0 = > 8,0 = > 8,8 ]);A1。异或(A2);A1(前)异或A2 = A1(后)################ ############################## ############## # # # ############# ############ # # # # # # # ########### ########## ###### ############## ######## ###################### ###### ###### ####### # # # # # # # # # # # # # # ## # # # # # # #
rhs -
Area是异或这
Area。
NullPointerException -如果
rhs是空的
public void reset()
Area几何和恢复到空白区域。
public boolean isEmpty()
Area对象封装任何地区。
true
Area对象代表一个空区;
false否则。
public boolean isPolygonal()
Area完全由直边的多边形几何。
true如果这
Area几何完全由直线段;
false否则。
public boolean isRectangular()
Area形状为矩形。
true如果这
Area几何形状为矩形;
false否则。
public boolean isSingular()
true如果
Area是由一个单一的基本几何;
false否则。
public Rectangle2D getBounds2D()
getBounds2D 接口
Shape
Rectangle2D为
Area。
Shape.getBounds()
public Rectangle getBounds()
Rectangle这
Area
地区等级将尝试返回严密包围盒的形状可能。包围盒将不会被填充包括在轮廓轮廓中的曲线的控制点,但应该紧密贴合轮廓本身的实际几何形状。由于返回的对象表示具有整数的包围盒,包围盒只能是紧的,因为最近的整数坐标,包括形状的几何形状。
完全封闭。getBounds 接口
Shape
Rectangle为
Area。
Shape.getBounds2D()
public Object clone()
Area。
public boolean equals(Area other)
Area物体的几何形状是平等的。如果参数为空,则此方法将返回错误。
other -
Area加以比较,这
Area
true如果两个几何体都是平等的;
false否则。
public void transform(AffineTransform t)
Area使用指定的
AffineTransform。几何变换的位置,它永久性地改变由这个对象定义的封闭区域。
t -用于转换区的改造
NullPointerException -如果
t是空的
public Area createTransformedArea(AffineTransform t)
Area对象具有相同几何这
Area由指定的
AffineTransform转化。这
Area对象是不变的。
t -指定
AffineTransform用来变换新的
Area
Area表示转化为几何。
NullPointerException -如果
t是空的
public boolean contains(double x,
double y)
Shape边界内,由
definition of insideness描述。
public boolean contains(Point2D p)
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对象,因此可以更准确的答案是需要用。
contains 接口
Shape
x -指定的矩形区域左上角的x坐标
y -指定的矩形区域的左上角的Y坐标
w -指定的矩形区域的宽度
h -指定矩形区域的高度
true如果的
Shape内部完全包含指定矩形区域;
false否则,如果
Shape包含矩形面积和
intersects方法返回
true和遏制的计算是执行太贵。
Area,
Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Shape测试的内部完全包含指定的
Rectangle2D。的
Shape.contains()方法允许
Shape实施保守的回报
false时:
true和intersectShape完全包含Rectangle2D是昂贵的计算。Shapes这个方法可能返回
false即使
Shape包含
Rectangle2D。的
Area类执行更精确的几何计算比大多数
Shape对象,因此可以更准确的答案是需要用。
contains 接口
Shape
r -指定
Rectangle2D
true如果的
Shape内部完全包含
false
Rectangle2D;否则,如果
Shape包含
Rectangle2D和
intersects方法返回
true和遏制的计算是执行太贵。
Shape.contains(double, double, double, double)
public boolean intersects(double x,
double y,
double w,
double h)
Shape测试的内部与一个指定的矩形区域内。矩形区域是相交的
Shape如果任何点是否包含在内部的
Shape和指定的矩形区域。
的Shape.intersects()方法允许Shape实施保守的回报true时:
Shape相交,但Shapes这个方法可能返回
true即使矩形区域不相交的
Shape。的
Area类执行更精确的计算几何相交比大多数
Shape对象,因此可以更准确的答案是需要用。
intersects 接口
Shape
x -指定的矩形区域左上角的x坐标
y -指定的矩形区域的左上角的Y坐标
w -指定的矩形区域的宽度
h -指定矩形区域的高度
true如果的
Shape内部与矩形区域内相交,或是相交,相交计算高度可能会执行
false否则太贵。
Area
public boolean intersects(Rectangle2D r)
Shape测试的内部与指定的
Rectangle2D内部,
Shape.intersects()方法允许
Shape实施保守的回报
true时:
Rectangle2D和Shape相交,但Shapes这个方法可能返回
true即使
Rectangle2D不相交的
Shape,
Area类执行更精确的计算几何相交比大多数
Shape对象,因此可以更准确的答案是需要用。
intersects 接口
Shape
r -指定
Rectangle2D
true如果的
Shape内部和指定的
Rectangle2D内部相交,或是相交,相交计算高度可能会执行
false否则太贵。
Shape.intersects(double, double, double, double)
public PathIterator getPathIterator(AffineTransform at)
getPathIterator 接口
Shape
at可选
AffineTransform被应用到坐标作为他们在迭代返回,或
null如果需要转化的坐标
PathIterator对象,返回该
Area轮廓的几何,每次一段。
public PathIterator getPathIterator(AffineTransform at, double flatness)
Area对象
PathIterator。只有弯曲的路径段的seg_moveto,seg_lineto表示,和seg_close点类型通过返回的迭代器。这
Area对象是不变的。
getPathIterator 接口
Shape
at可选
AffineTransform被应用到坐标作为他们在迭代返回,或
null如果需要转化的坐标
flatness,给定曲线的控制点可以从之前的细分曲线是通过共线直线连接终结点替换的最大数量
PathIterator对象,返回该
Area轮廓的几何,每次一段。
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.