java.lang.Object
java.awt.geom.RectangularShape
- 直接已知的子类:
-
Arc2D,Ellipse2D,Rectangle2D,RoundRectangle2D
RectangularShape 是一些几何形状对象的基类,这些对象的几何形状由矩形框架定义。这个类本身并没有直接指定任何特定的几何形状,而只是提供了一整类 Shape 对象继承的操作方法。这个类提供的操作方法可用于查询和修改矩形框架,为子类定义其几何形状提供了参考。
- 自:
- 1.2
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionclone()创建一个与此对象相同类和相同内容的新对象。booleanboolean测试Shape的内部是否完全包含指定的Rectangle2D。返回完全包围Shape的整数Rectangle。double返回Shape的框架矩形的中心的 X 坐标,以double精度。double返回Shape的框架矩形的中心的 Y 坐标,以double精度。getFrame()返回定义此对象整体形状的框架Rectangle2D。abstract double返回框架矩形的高度,以double精度。doublegetMaxX()返回Shape的框架矩形的最大 X 坐标,以double精度。doublegetMaxY()返回Shape的框架矩形的最大 Y 坐标,以double精度。doublegetMinX()返回Shape的框架矩形的最小 X 坐标,以double精度。doublegetMinY()返回Shape的框架矩形的最小 Y 坐标,以double精度。getPathIterator(AffineTransform at, double flatness) 返回一个迭代器对象,沿着Shape对象的边界迭代,并提供对Shape对象几何形状轮廓的扁平视图的访问。abstract doublegetWidth()返回框架矩形的宽度,以double精度。abstract doublegetX()返回框架矩形的左上角的 X 坐标,以double精度。abstract doublegetY()返回框架矩形的左上角的 Y 坐标,以double精度。boolean测试Shape的内部是否与指定的Rectangle2D的内部相交。abstract booleanisEmpty()确定RectangularShape是否为空。abstract voidsetFrame(double x, double y, double w, double h) 将此Shape的框架矩形的位置和大小设置为指定的矩形值。voidsetFrame(Point2D loc, Dimension2D size) void将此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的框架矩形的对角线。Methods declared in class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface java.awt.Shape
contains, contains, getBounds2D, getPathIterator, intersects
-
Constructor Details
-
RectangularShape
protected RectangularShape()这是一个不能直接实例化的抽象类。- 自:
- 1.2
- 参见:
-
-
Method Details
-
getX
public abstract double getX()返回框架矩形的左上角的 X 坐标,以double精度。- 返回:
- 框架矩形的左上角的 X 坐标。
- 自:
- 1.2
-
getY
public abstract double getY()返回框架矩形的左上角的 Y 坐标,以double精度。- 返回:
- 框架矩形的左上角的 Y 坐标。
- 自:
- 1.2
-
getWidth
public abstract double getWidth()返回框架矩形的宽度,以double精度。- 返回:
- 框架矩形的宽度。
- 自:
- 1.2
-
getHeight
public abstract double getHeight()返回框架矩形的高度,以double精度。- 返回:
- 框架矩形的高度。
- 自:
- 1.2
-
getMinX
public double getMinX()返回Shape的框架矩形的最小 X 坐标,以double精度。- 返回:
-
Shape的框架矩形的最小 X 坐标。 - 自:
- 1.2
-
getMinY
public double getMinY()返回Shape的框架矩形的最小 Y 坐标,以double精度。- 返回:
-
Shape的框架矩形的最小 Y 坐标。 - 自:
- 1.2
-
getMaxX
public double getMaxX()返回Shape的框架矩形的最大 X 坐标,以double精度。- 返回:
-
Shape的框架矩形的最大 X 坐标。 - 自:
- 1.2
-
getMaxY
public double getMaxY()返回Shape的框架矩形的最大 Y 坐标,以double精度。- 返回:
-
Shape的框架矩形的最大 Y 坐标。 - 自:
- 1.2
-
getCenterX
public double getCenterX()返回Shape的框架矩形的中心的 X 坐标,以double精度。- 返回:
-
Shape的框架矩形的中心的 X 坐标。 - 自:
- 1.2
-
getCenterY
public double getCenterY()返回Shape的框架矩形的中心的 Y 坐标,以double精度。- 返回:
-
Shape的框架矩形的中心的 Y 坐标。 - 自:
- 1.2
-
getFrame
返回定义此对象整体形状的框架Rectangle2D。- 返回:
-
一个
Rectangle2D,以double坐标指定。 - 自:
- 1.2
- 参见:
-
isEmpty
public abstract boolean isEmpty()确定RectangularShape是否为空。当RectangularShape为空时,它不包含任何区域。- 返回:
-
如果
RectangularShape为空,则返回true;否则返回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
- 参见:
-
setFrame
- 参数:
-
loc- 指定的Point2D -
size- 指定的Dimension2D - 自:
- 1.2
- 参见:
-
setFrame
将此Shape的框架矩形设置为指定的Rectangle2D。框架矩形由RectangularShape的子类用于定义它们的几何形状。- 参数:
-
r- 指定的Rectangle2D - 自版本:
- 1.2
- 参见:
-
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
根据两个指定的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
根据指定的中心Point2D和角Point2D设置此Shape的框架矩形。框架矩形由RectangularShape的子类用于定义它们的几何形状。- 参数:
-
center- 指定的中心Point2D -
corner- 指定的角Point2D - 自版本:
- 1.2
-
contains
-
intersects
测试Shape的内部是否与指定的Rectangle2D的内部相交。当:- 有很高的概率
Rectangle2D和Shape相交,但 - 准确确定此交集的计算代价过高。
Shape.intersects()方法允许Shape实现保守地返回true。这意味着对于某些Shapes,即使Rectangle2D不与Shape相交,此方法可能仍然返回true。与大多数Shape对象相比,Area类执行更准确的几何相交计算,因此如果需要更精确的答案,则可以使用该类。- 接口实现:
-
intersects在接口Shape中 - 参数:
-
r- 指定的Rectangle2D - 返回值:
-
如果
Shape的内部和指定的Rectangle2D的内部相交,或者两者很可能相交且计算交集的代价太高,则返回true;否则返回false。 - 自版本:
- 1.2
- 参见:
- 有很高的概率
-
contains
测试Shape的内部是否完全包含指定的Rectangle2D。当:intersect方法返回true且- 确定
Shape是否完全包含Rectangle2D的计算代价过高。
Shape.contains()方法允许Shape实现保守地返回false。这意味着对于某些Shapes,即使Shape包含Rectangle2D,此方法可能仍然返回false。与大多数Shape对象相比,Area类执行更准确的几何计算,因此如果需要更精确的答案,则可以使用该类。 -
getBounds
返回一个完全包围Shape的整数Rectangle。请注意,返回的Rectangle不一定是最小的边界框,只是Shape完全位于指示的Rectangle内。如果Shape溢出整数数据类型的有限范围,则返回的Rectangle也可能无法完全包围Shape。由于其在表示上更灵活,getBounds2D方法通常返回更紧密的边界框。请注意,内部定义可能导致
shape的定义轮廓上的点不被认为包含在返回的bounds对象中,但仅在这些点也不被认为包含在原始shape中的情况下。如果一个
point根据contains(point)方法在shape内部,则根据bounds的contains(point)方法,它必须在返回的Rectangle边界对象内部。具体来说:shape.contains(x,y)需要bounds.contains(x,y)如果一个
point不在shape内部,则它可能仍然包含在bounds对象中:bounds.contains(x,y)不意味着shape.contains(x,y) -
getPathIterator
返回一个迭代器对象,该对象沿着Shape对象的边界迭代,并提供Shape对象几何形状轮廓的扁平视图。迭代器仅返回SEG_MOVETO、SEG_LINETO和SEG_CLOSE点类型。
曲线段的细分量由
flatness参数控制,该参数指定未扁平化的变换曲线上的任何点可以偏离返回的扁平化路径段的最大距离。可以指定一个可选的AffineTransform,以便迭代中返回的坐标相应地进行变换。- 接口实现:
-
getPathIterator在接口Shape中 - 参数:
-
at- 一个可选的AffineTransform,用于在迭代返回的坐标中应用变换,或者如果需要未变换的坐标,则为null。 -
flatness- 用于近似曲线段的线段允许偏离原始曲线上任何点的最大距离 - 返回值:
-
一个提供访问
Shape对象的扁平化几何形状的PathIterator对象。 - 自版本:
- 1.2
-
clone
创建一个与此对象相同类和相同内容的新对象。- 覆盖:
-
clone在类Object中 - 返回:
- 此实例的克隆。
- 抛出:
-
OutOfMemoryError- 如果内存不足。 - 自从:
- 1.2
- 参见:
-