JavaTM Platform
Standard Ed. 6

java.awt.geom
类 RectangularShape

java.lang.Object
  继承者 java.awt.geom.RectangularShape
所有已实现的接口:
Shape, Cloneable
直接已知子类:
Arc2D, Ellipse2D, Rectangle2D, RoundRectangle2D

public abstract class RectangularShape
extends Object
implements Shape, Cloneable

RectangularShape 是许多 Shape 对象的基类,这些对象的几何形状由矩形窗体定义。此类本身不直接指定任何特定的几何形状,而只是提供由整个 Shape 对象种类继承的操纵方法。由此类提供的操纵方法可用于查询和修改矩形窗体,为子类定义其几何形状提供引用。

从以下版本开始:
1.2

构造方法摘要
protected RectangularShape()
          这是一个不可直接实例化的抽象类。
 
方法摘要
 Object clone()
          创建一个与此对象具有相同类和相同内容的新对象。
 boolean contains(Point2D p)
          测试指定的 Point2D 是否在 Shape 的边界内。
 boolean contains(Rectangle2D r)
          测试 Shape 内部是否完全包含指定的 Rectangle2D
 Rectangle getBounds()
          返回一个完全包围 Shape 的整型 Rectangle
 double getCenterX()
          以 double 精度返回 Shape 的窗体矩形中心的 X 坐标。
 double getCenterY()
          以 double 精度返回 Shape 的窗体矩形中心的 Y 坐标。
 Rectangle2D getFrame()
          返回定义此对象的总体形状的窗体 Rectangle2D
abstract  double getHeight()
          以 double 精度返回窗体矩形的高度。
 double getMaxX()
          以 double 精度返回 Shape 窗体矩形的最大 X 坐标。
 double getMaxY()
          以 double 精度返回 Shape 窗体矩形的最大 Y 坐标。
 double getMinX()
          以 double 精度返回 Shape 窗体矩形的最小 X 坐标。
 double getMinY()
          以 double 精度返回 Shape 窗体矩形的最小 Y 坐标。
 PathIterator getPathIterator(AffineTransform at, double flatness)
          返回一个迭代器对象,它可沿 Shape 对象的边界进行迭代,并提供对 Shape 对象轮廓几何形状平面视图的访问。
abstract  double getWidth()
          以 double 精度返回窗体矩形的宽度。
abstract  double getX()
          以 double 精度返回窗体矩形左上角的 X 坐标。
abstract  double getY()
          以 double 精度返回窗体矩形左上角的 Y 坐标。
 boolean intersects(Rectangle2D r)
          测试 Shape 内部是否与指定 Rectangle2D 内部相交。
abstract  boolean isEmpty()
          确定 RectangularShape 是否为空。
abstract  void setFrame(double x, double y, double w, double h)
          将此 Shape 窗体矩形的位置和大小设置为指定的矩形值。
 void setFrame(Point2D loc, Dimension2D size)
          将此 Shape 窗体矩形的位置和大小分别设置为指定的 Point2DDimension2D
 void setFrame(Rectangle2D r)
          将此 Shape 窗体矩形设置为指定的 Rectangle2D
 void setFrameFromCenter(double centerX, double centerY, double cornerX, double cornerY)
          基于指定的中心点坐标和角点坐标设置此 Shape 的窗体矩形。
 void setFrameFromCenter(Point2D center, Point2D corner)
          基于指定的中心 Point2D 和角 Point2D 设置此 Shape 的窗体矩形。
 void setFrameFromDiagonal(double x1, double y1, double x2, double y2)
          基于两个指定的坐标设置此 Shape 窗体矩形的对角线。
 void setFrameFromDiagonal(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

返回:
一个 Rectangle2D,它是使用 double 坐标指定的。
从以下版本开始:
1.2
另请参见:
setFrame(double, double, double, double), setFrame(Point2D, Dimension2D), setFrame(Rectangle2D)

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
另请参见:
getFrame()

setFrame

public void setFrame(Point2D loc,
                     Dimension2D size)
将此 Shape 窗体矩形的位置和大小分别设置为指定的 Point2DDimension2D。窗体矩形供 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 - 指定中心点的 X 坐标
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 的边界内。

指定者:
接口 Shape 中的 contains
参数:
p - 要测试的指定的 Point2D
返回:
如果指定的 Point2DShape 边界内,则返回 true;否则返回 false
从以下版本开始:
1.2

intersects

public boolean intersects(Rectangle2D r)
测试 Shape 内部是否与指定 Rectangle2D 内部相交。在下列情况下,Shape.intersects() 方法允许 Shape 实现谨慎地返回 true 这意味着对于某些 Shape,即使 Rectangle2D 没有与该 Shape 相交,此方法也可能返回 true。如果需要更精确的答案,由于 Area 类比大多数 Shape 对象更为准确地计算几何相交,因此可以使用该类。

指定者:
接口 Shape 中的 intersects
参数:
r - 指定的 Rectangle2D
返回:
如果 Shape 内部与指定 Rectangle2D 内部相交,或者相交的可能性很大且执行计算的代价太高,则返回 true;否则返回 false
从以下版本开始:
1.2
另请参见:
Shape.intersects(double, double, double, double)

contains

public boolean contains(Rectangle2D r)
测试 Shape 内部是否完全包含指定的 Rectangle2D。在下列情况下,Shape.contains() 方法允许 Shape 实现谨慎地返回 false 这意味着对于某些 Shape,即使 Shape 包含 Rectangle2D,此方法也可能返回 false。如果需要更精确的答案,由于 Area 类比大多数 Shape 对象更为准确地执行几何计算,因此可以使用该类。

指定者:
接口 Shape 中的 contains
参数:
r - 指定的 Rectangle2D
返回:
如果 Shape 内部完全包含 Rectangle2D,则返回 true;否则,如果 Shape 包含 Rectangle2Dintersects 方法返回 true 且执行包含计算代价太高,则返回 false
从以下版本开始:
1.2
另请参见:
Shape.contains(double, double, double, double)

getBounds

public Rectangle getBounds()
返回一个完全包围 Shape 的整型 Rectangle。注意,不保证返回的 Rectangle 是包围 Shape 的最小边界框,只保证 Shape 完全位于指示的 Rectangle 中。如果 Shape 超出了整数数据类型的有效范围,则返回的 Rectangle 也可能不完全包围 ShapegetBounds2D 方法由于在表示形式上具有更大的灵活性,所以通常返回更紧密的边界框。

指定者:
接口 Shape 中的 getBounds
返回:
完全包围 Shape 的整型 Rectangle
从以下版本开始:
1.2
另请参见:
Shape.getBounds2D()

getPathIterator

public PathIterator getPathIterator(AffineTransform at,
                                    double flatness)
返回一个迭代器对象,它可沿 Shape 对象的边界进行迭代,并提供对 Shape 对象轮廓几何形状平面视图的访问。

迭代器将只返回 SEG_MOVETO、SEG_LINETO 和 SEG_CLOSE 点类型。

flatness 参数控制曲线段分段的数量,指定变换的不平曲线上任一点能够偏离返回的变平路径段的最大距离。可以指定一个可选的 AffineTransform,以便相应地变换迭代中返回的坐标。

指定者:
接口 Shape 中的 getPathIterator
参数:
at - 可选的 AffineTransform,应用于迭代中返回坐标;如果需要未变换的坐标,则为 null
flatness - 用来近似曲线段的直线段偏离原始曲线上任一点的最大距离
返回:
提供对 Shape 对象的变平几何形状的访问的 PathIterator 对象。
从以下版本开始:
1.2

clone

public Object clone()
创建一个与此对象具有相同类和相同内容的新对象。

覆盖:
Object 中的 clone
返回:
此实例的一个副本。
抛出:
OutOfMemoryError - 如果没有足够的内存。
从以下版本开始:
1.2
另请参见:
Cloneable

JavaTM Platform
Standard Ed. 6

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策