所有已知实现类:Arc2D, Arc2D.Double, Arc2D.Float, Area, CubicCurve2D, CubicCurve2D.Double, CubicCurve2D.Float, Ellipse2D, Ellipse2D.Double, Ellipse2D.Float, GeneralPath, Line2D, Line2D.Double, Line2D.Float, Polygon, QuadCurve2D, QuadCurve2D.Double, QuadCurve2D.Float, Rectangle, Rectangle2D, Rectangle2D.Double, Rectangle2D.Float, RectangularShape, RoundRectangle2D, RoundRectangle2D.Double, RoundRectangle2D.Float
public interface Shape
Shape 接口提供了表示一些几何形状的对象的定义。Shape 是由 PathIterator 对象描述的,它可以表示 Shape 的轮廓以及确定该轮廓如何将 2D 平面划分成内点和外点的规则。每个 Shape 对象都提供回调,以获取几何形状的边框,确定点或矩形是部分还是全部位于 Shape 内部,并检索一个描述 Shape 轮廓的轨迹路径的 PathIterator 对象。
内部定义:当且仅当以下条件成立时,才认为某个点位于 Shape 内:
该点完全位于 Shape 边界内,或者
该点恰好位于 Shape 边界上,并且 X 轴正方向上紧邻该点的空间完全处于边界之内,或者
该点恰好在水平边界分段上,并且 Y 轴正方向上紧邻该点的空间完全处于边界之内。
contains 和 intersects 方法将 Shape 内部视为可以填充的封闭区域。这意味着为了确定某个 shape 是否包含矩形或与矩形相交,或者确定某个 shape 是否包含一个点,这些方法将隐式地认为未闭合的 shape 是闭合的。
另请参见:PathIterator,
AffineTransform,
FlatteningPathIterator,
GeneralPath
方法摘要
boolean
contains(doublex,
doubley)
测试指定坐标是否在 Shape 的边界内。
boolean
contains(doublex,
doubley,
doublew,
doubleh)
测试 Shape 内部是否完全包含指定矩形区域。
bo