- java.lang.Object
-
- java.awt.geom.RectangularShape
-
- 已知直接子类:
-
Arc2D,Ellipse2D,Rectangle2D,RoundRectangle2D
public abstract class RectangularShape extends Object implements Shape, Cloneable
RectangularShape是许多Shape对象的基类,其几何图形由矩形框架定义。 此类不直接指定任何特定的几何体,而仅提供由整个类别的Shape对象继承的操作方法。 此类提供的操作方法可用于查询和修改矩形框架,这为子类提供了定义其几何体的参考。- 从以下版本开始:
- 1.2
-
-
构造方法摘要
构造方法 变量 构造器 描述 protectedRectangularShape()这是一个无法直接实例化的抽象类。
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 Objectclone()创建与此对象具有相同类并具有相同内容的新对象。booleancontains(Point2D p)测试指定Point2D是的边界内Shape,如所描述的definition of insideness 。booleancontains(Rectangle2D r)测试Shape的内部Shape完全包含指定的Rectangle2D。RectanglegetBounds()返回一个整数Rectangle完全包围Shape。doublegetCenterX()以double精度返回Shape的框架矩形中心的X坐标。doublegetCenterY()以double精度返回Shape的框架矩形中心的Y坐标。Rectangle2DgetFrame()返回定义此对象的整体形状的框架Rectangle2D。abstract doublegetHeight()以double精度返回框架矩形的高度。doublegetMaxX()以double精度返回Shape的框架矩形的最大X坐标。doublegetMaxY()以double精度返回Shape的框架矩形的最大Y坐标。doublegetMinX()以double精度返回Shape的框架矩形的最小X坐标。doublegetMinY()以double精度返回Shape的框架矩形的最小Y坐标。PathIteratorgetPathIterator(AffineTransform at, double flatness)返回迭代器对象,该对象沿Shape对象的边界进行迭代,并提供对Shape对象几何轮廓的Shape平视图的访问。abstract doublegetWidth()以double精度返回框架矩形的宽度。abstract doublegetX()以double精度返回框架矩形左上角的X坐标。abstract doublegetY()以double精度返回框架矩形左上角的Y坐标。booleanintersects(Rectangle2D r)测试Shape的内部是否与指定的Rectangle2D的内部相交。abstract booleanisEmpty()确定RectangularShape是否为空。abstract voidsetFrame(double x, double y, double w, double h)将此Shape的框架矩形的位置和大小设置为指定的矩形值。voidsetFrame(Point2D loc, Dimension2D size)将此Shape的框架矩形的位置和大小分别设置为指定的Point2D和Dimension2D。voidsetFrame(Rectangle2D r)将此Shape的框架矩形设置为指定的Rectangle2D。voidsetFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY)根据指定的中心点坐标和角点坐标设置此Shape的框架矩形。voidsetFrameFromCenter(Point2D center, Point2D corner)根据指定的中心Point2D和角Point2D设置此Shape的框架矩形。voidsetFrameFromDiagonal(double x1, double y1, double x2, double y2)根据两个指定的坐标设置此Shape的框架矩形的对角线。voidsetFrameFromDiagonal(Point2D p1, Point2D p2)根据两个指定的Point2D对象设置此Shape的框架矩形的对角线。-
声明方法的类 java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
声明方法的接口 java.awt.Shape
contains, contains, getBounds2D, getPathIterator, intersects
-
-
-
-
构造方法详细信息
-
RectangularShape
protected RectangularShape()
这是一个无法直接实例化的抽象类。- 从以下版本开始:
- 1.2
- 另请参见:
-
Arc2D,Ellipse2D,Rectangle2D,RoundRectangle2D
-
-
方法详细信息
-
getX
public abstract double getX()
以double精度返回框架矩形左上角的X坐标。- 结果
- 框架矩形左上角的X坐标。
- 从以下版本开始:
- 1.2
-
getY
public abstract double getY()
以double精度返回框架矩形左上角的Y坐标。- 结果
- 框架矩形左上角的Y坐标。
- 从以下版本开始:
- 1.2
-
getWidth
public abstract double getWidth()
以double精度返回框架矩形的宽度。- 结果
- 框架矩形的宽度。
- 从以下版本开始:
- 1.2
-
getHeight
public abstract double getHeight()
以double精度返回框架矩形的高度。- 结果
- 框架矩形的高度。
- 从以下版本开始:
- 1.2
-
getMinX
public double getMinX()
以double精度返回Shape的框架矩形的最小X坐标。- 结果
-
Shape的框架矩形的最小X坐标。 - 从以下版本开始:
- 1.2
-
getMinY
public double getMinY()
以double精度返回Shape的框架矩形的最小Y坐标。- 结果
-
Shape的框架矩形的最小Y坐标。 - 从以下版本开始:
- 1.2
-
getMaxX
public double getMaxX()
以double精度返回Shape的框架矩形的最大X坐标。- 结果
-
Shape的框架矩形的最大X坐标。 - 从以下版本开始:
- 1.2
-
getMaxY
public double getMaxY()
以double精度返回Shape的框架矩形的最大Y坐标。- 结果
-
Shape的框架矩形的最大Y坐标。 - 从以下版本开始:
- 1.2
-
getCenterX
public double getCenterX()
以double精度返回Shape的框架矩形中心的X坐标。- 结果
-
Shape的框架矩形中心的X坐标。 - 从以下版本开始:
- 1.2
-
getCenterY
public double getCenterY()
以double精度返回Shape的框架矩形中心的Y坐标。- 结果
-
Shape框架矩形中心的Y坐标。 - 从以下版本开始:
- 1.2
-
getFrame
public Rectangle2D getFrame()
返回定义此对象的整体形状的框架Rectangle2D。- 结果
-
a
Rectangle2D,在double坐标中指定。 - 从以下版本开始:
- 1.2
- 另请参见:
-
setFrame(double, double, double, double),setFrame(Point2D, Dimension2D),setFrame(Rectangle2D)
-
isEmpty
public abstract boolean isEmpty()
确定RectangularShape是否为空。 当RectangularShape为空时,它不包含任何区域。- 结果
-
true如果RectangularShape为空; 否则为false。 - 从以下版本开始:
- 1.2
-
setFrame
public abstract void setFrame(double x, double y, double w, double h)将此Shape的框架矩形的位置和大小设置为指定的矩形值。- 参数
-
x- 指定矩形的左上角的X坐标 -
y- 指定矩形的左上角的Y坐标 -
w- 指定矩形的宽度 -
h- 指定矩形的高度 - 从以下版本开始:
- 1.2
- 另请参见:
-
getFrame()
-
setFrame
public void setFrame(Point2D loc, Dimension2D size)
将此Shape的框架矩形的位置和大小分别设置为指定的Point2D和Dimension2D。 框架矩形由RectangularShape的子类用于定义它们的几何。- 参数
-
loc- 指定的Point2D -
size- 指定的Dimension2D - 从以下版本开始:
- 1.2
- 另请参见:
-
getFrame()
-
setFrame
public void setFrame(Rectangle2D r)
将此Shape的框架矩形设置为指定的Rectangle2D。 框架矩形由RectangularShape的子类用于定义它们的几何。- 参数
-
r- 指定的Rectangle2D - 从以下版本开始:
- 1.2
- 另请参见:
-
getFrame()
-
setFrameFromDiagonal
public void setFrameFromDiagonal(double x1, double y1, double x2, double y2)根据两个指定的坐标设置此Shape的框架矩形的对角线。 框架矩形由RectangularShape的子类用于定义其几何。- 参数
-
x1- 指定对角线起点的X坐标 -
y1- 指定对角线起点的Y坐标 -
x2- 指定对角线终点的X坐标 -
y2- 指定对角线终点的Y坐标 - 从以下版本开始:
- 1.2
-
setFrameFromDiagonal
public void setFrameFromDiagonal(Point2D p1, Point2D p2)
根据两个指定的Point2D对象设置此Shape的框架矩形的对角线。 框架矩形由RectangularShape的子类用于定义它们的几何。- 参数
-
p1- 指定对角线的起始Point2D -
p2- 指定对角线的末端Point2D - 从以下版本开始:
- 1.2
-
setFrameFromCenter
public void setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY)根据指定的中心点坐标和角点坐标设置此Shape的框架矩形。 框架矩形由RectangularShape的子类用于定义其几何。- 参数
-
centerX- 指定中心点的X坐标 -
centerY- 指定中心点的Y坐标 -
cornerX- 指定角点的X坐标 -
cornerY- 指定角点的Y坐标 - 从以下版本开始:
- 1.2
-
setFrameFromCenter
public void setFrameFromCenter(Point2D center, Point2D corner)
根据指定的中心Point2D和角Point2D设置此Shape的框架矩形。 框架矩形由RectangularShape的子类用于定义其几何形状。- 参数
-
center- 指定中心Point2D -
corner- 指定的角落Point2D - 从以下版本开始:
- 1.2
-
contains
public boolean contains(Point2D p)
测试指定Point2D是的边界内Shape,如所描述的definition of insideness 。
-
intersects
public boolean intersects(Rectangle2D r)
测试Shape的内部是否与指定的Rectangle2D的内部相交。 在以下情况下,Shape.intersects()方法允许Shape实施保守地返回true:-
Rectangle2D与Shape相交的概率很高,但是 - 精确确定这个交叉点的计算非常昂贵。
Shapes这种方法也可能返回true即使Rectangle2D不相交Shape。Area类比大多数Shape对象执行更精确的几何交集计算,因此如果需要更精确的答案,则可以使用它。- Specified by:
-
intersects接口Shape - 参数
-
r- 指定的Rectangle2D - 结果
-
true如果Shape的内部与指定的Rectangle2D的内部相交,或者两者都很有可能相交并且交叉计算将太昂贵而无法执行; 否则为false。 - 从以下版本开始:
- 1.2
- 另请参见:
-
Shape.intersects(double, double, double, double)
-
-
contains
public boolean contains(Rectangle2D r)
测试Shape的内部Shape完全包含指定的Rectangle2D。 在以下情况下,Shape.contains()方法允许Shape实施保守地返回false:-
intersect方法返回true和 - 用于确定
Shape是否完全包含Rectangle2D的计算非常昂贵。
Shapes这种方法也可能返回false即使Shape包含Rectangle2D。Area类比大多数Shape对象执行更精确的几何计算,因此如果需要更精确的答案,则可以使用它。- Specified by:
-
contains接口Shape - 参数
-
r- 指定的Rectangle2D - 结果
-
true如果内部Shape完全包含Rectangle2D;false否则或者,如果Shape包含Rectangle2D并且intersects方法返回true并且包含计算将太昂贵而无法执行。 - 从以下版本开始:
- 1.2
- 另请参见:
-
Shape.contains(double, double, double, double)
-
-
getBounds
public Rectangle getBounds()
返回一个整数Rectangle完全包围Shape。 请注意,不保证返回的Rectangle是最小的边框包围Shape,只表示Shape完全在指定的范围内Rectangle。 如果Shape溢出整数数据类型的有限范围,则返回的Rectangle也可能无法完全包含Shape。getBounds2D方法通常返回更严格的边界框,因为它具有更强的表示灵活性。请注意, definition of insideness可能会导致shape定义轮廓上的
shape可能不被视为包含在返回的bounds对象中,但仅限于原始shape不包含这些点的情况。如果
point是内部shape根据contains(point)方法,那么它必须是内部返回Rectangle界限根据对象contains(point)所述的方法bounds。 特别:shape.contains(x,y)需要bounds.contains(x,y)如果
point不在shape,则它可能仍包含在bounds对象中:bounds.contains(x,y)并不shape.contains(x,y)- Specified by:
-
getBounds接口Shape - 结果
-
整数
Rectangle,完全包含Shape。 - 从以下版本开始:
- 1.2
- 另请参见:
-
Shape.getBounds2D()
-
getPathIterator
public PathIterator getPathIterator(AffineTransform at, double flatness)
返回迭代器对象,该对象沿Shape对象的边界进行迭代,并提供对Shape对象几何体轮廓的Shape平视图的访问。迭代器只返回SEG_MOVETO,SEG_LINETO和SEG_CLOSE点类型。
弯曲段的细分量由
flatness参数控制,该参数指定未平坦变换曲线上的任何点可以偏离返回的平坦路径段的最大距离。 可以指定可选的AffineTransform,以便相应地转换迭代中返回的坐标。- Specified by:
-
getPathIterator在界面Shape - 参数
-
at- 在迭代中返回时应用于坐标的可选AffineTransformnull如果需要未转换的坐标,则null。 -
flatness- 允许线段用于近似弯曲段的最大距离偏离原始曲线上的任何点 - 结果
-
PathIterator对象,提供对Shape对象的展平几何体的访问。 - 从以下版本开始:
- 1.2
-
clone
public Object clone()
创建与此对象具有相同类并具有相同内容的新对象。- 重写:
-
clone在类Object - 结果
- 这个实例的克隆。
- 异常
-
OutOfMemoryError- 如果内存不足。 - 从以下版本开始:
- 1.2
- 另请参见:
-
Cloneable
-
-