- java.lang.Object
-
- java.awt.geom.Path2D
-
- 已知直接子类:
-
Path2D.Double
,Path2D.Float
public abstract class Path2D extends Object implements Shape, Cloneable
Path2D
类提供了一个简单而又灵活的形状,表示任意的几何路径。 它可以完全表示可以由PathIterator
接口迭代的任何路径,包括其所有段类型和绕组规则,并且它实现了Shape
接口的所有基本命中测试方法。处理可以用浮点精度表示和使用的数据时使用
Path2D.Float
。 对于要求准确度或双精度范围的数据,请使用Path2D.Double
。Path2D
提供了基本构建和管理几何路径所需的这些设施以及上述接口的实现,几乎没有添加解释。 如果操作封闭几何形状的内部是非常有用的,超过简单的命中测试,那么Area
类提供了特别针对封闭图形的附加功能。 虽然这两个类名义上实现Shape
接口,它们在目的不同,它们一起提供了一个几何形状,其中两个有用的视图Path2D
主要处理由路径段和形成的轨迹Area
更多地处理解释和2D几何空间封闭区域的操纵。PathIterator
接口对构成路径的段类型进行了更详细的描述,并且对绕组规则进行了更详细的描述,该规则控制了如何确定哪些区域在路径内部或外部。- 从以下版本开始:
- 1.6
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
Path2D.Double
Double
类定义了一个几何路径,坐标存储在双精度浮点中。static class
Path2D.Float
Float
类定义了坐标存储在单精度浮点中的几何路径。
-
Field Summary
Fields Modifier and Type Field 描述 static int
WIND_EVEN_ODD
用于确定路径内部的偶数绕组规则。static int
WIND_NON_ZERO
用于确定路径内部的非零绕组规则。
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 abstract void
append(PathIterator pi, boolean connect)
将指定的PathIterator
对象的几何附加到路径,可能将新几何体连接到具有线段的现有路径段。void
append(Shape s, boolean connect)
将指定的Shape
对象的几何对象附加到路径,可能将新几何体连接到具有线段的现有路径段。abstract Object
clone()
创建与此对象相同类的新对象。void
closePath()
通过将直线绘制回最后一个moveTo
的坐标来关闭当前子路径。boolean
contains(double x, double y)
测试指定的坐标是否在Shape
的边界内,如 definition of insideness所述 。boolean
contains(double x, double y, double w, double h)
测试Shape
的内部Shape
完全包含指定的矩形区域。static boolean
contains(PathIterator pi, double x, double y)
测试指定的坐标是否在指定的PathIterator
的封闭边界内。static boolean
contains(PathIterator pi, double x, double y, double w, double h)
测试指定的矩形区域是否完全在指定的PathIterator
的封闭边界内。static boolean
contains(PathIterator pi, Point2D p)
测试指定Point2D
是指定的封闭边界内PathIterator
。static boolean
contains(PathIterator pi, Rectangle2D r)
测试指定Rectangle2D
是完全指定的封闭边界内PathIterator
。boolean
contains(Point2D p)
测试指定Point2D
是的边界内Shape
,如所描述的definition of insideness 。boolean
contains(Rectangle2D r)
测试Shape
的内部Shape
全部包含指定的Rectangle2D
。Shape
createTransformedShape(AffineTransform at)
返回一个新的Shape
代表这个Path2D
的转换版本。abstract void
curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
通过绘制与当前坐标和指定坐标(x3,y3)
相交的Bézier曲线,使用指定点(x1,y1)
和(x2,y2)
作为Bézier控制点,将一个由三个新点定义的曲线段添加到路径。Rectangle
getBounds()
返回一个整数Rectangle
完全包围Shape
。Point2D
getCurrentPoint()
将最近添加到路径末尾的坐标作为Point2D
对象返回。PathIterator
getPathIterator(AffineTransform at, double flatness)
返回一个沿Shape
边界迭代的迭代器对象,并提供对Shape
轮廓几何体的平坦化视图的访问。int
getWindingRule()
返回填充样式卷绕规则。boolean
intersects(double x, double y, double w, double h)
测试Shape
的内部是否与指定矩形区域的内部相交。static boolean
intersects(PathIterator pi, double x, double y, double w, double h)
测试指定的PathIterator
的内部是否与指定的一组直角坐标的内部相交。static boolean
intersects(PathIterator pi, Rectangle2D r)
测试指定的内部PathIterator
相交指定的内部Rectangle2D
。boolean
intersects(Rectangle2D r)
测试Shape
的内部是否与指定的内部相交Rectangle2D
。abstract void
lineTo(double x, double y)
通过从当前坐标绘制直线到双精度指定的新指定坐标,向路径添加点。abstract void
moveTo(double x, double y)
通过移动到以双精度指定的指定坐标添加点到路径。abstract void
quadTo(double x1, double y1, double x2, double y2)
通过绘制与当前坐标和指定坐标(x2,y2)
相交的二次曲线,使用指定点(x1,y1)
作为二次参数控制点,将一个由两个新点定义的曲线段添加到路径。void
reset()
将路径重置为空。void
setWindingRule(int rule)
将此路径的绕组规则设置为指定值。abstract void
transform(AffineTransform at)
使用指定的AffineTransform
转换此路径的几何。-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.awt.Shape
getBounds2D, getPathIterator
-
-
-
-
字段详细信息
-
WIND_EVEN_ODD
public static final int WIND_EVEN_ODD
用于确定路径内部的偶数绕组规则。- 从以下版本开始:
- 1.6
- 另请参见:
-
PathIterator.WIND_EVEN_ODD
, Constant Field Values
-
WIND_NON_ZERO
public static final int WIND_NON_ZERO
用于确定路径内部的非零绕组规则。- 从以下版本开始:
- 1.6
- 另请参见:
-
PathIterator.WIND_NON_ZERO
, Constant Field Values
-
-
方法详细信息
-
moveTo
public abstract void moveTo(double x, double y)
通过移动到以双精度指定的指定坐标添加点到路径。- 参数
-
x
- 指定的X坐标 -
y
- 指定的Y坐标 - 从以下版本开始:
- 1.6
-
lineTo
public abstract void lineTo(double x, double y)
通过从当前坐标绘制直线到双精度指定的新指定坐标,向路径添加点。- 参数
-
x
- 指定的X坐标 -
y
- 指定的Y坐标 - 从以下版本开始:
- 1.6
-
quadTo
public abstract void quadTo(double x1, double y1, double x2, double y2)
通过绘制与当前坐标和指定坐标(x2,y2)
相交的二次曲线,使用指定点(x1,y1)
作为二次参数控制点,将一个由两个新点定义的曲线段添加到路径。 所有坐标均以双精度指定。- 参数
-
x1
- 二次控制点的X坐标 -
y1
- 二次控制点的Y坐标 -
x2
- 最终终点的X坐标 -
y2
- 最终终点的Y坐标 - 从以下版本开始:
- 1.6
-
curveTo
public abstract void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
通过绘制与当前坐标和指定坐标(x3,y3)
两者相交的Bézier曲线,使用指定点(x1,y1)
和(x2,y2)
作为Bézier控制点,将一个由三个新点定义的曲线段添加到路径。 所有坐标均以双精度指定。- 参数
-
x1
- 第一个Bézier控制点的X坐标 -
y1
- 第一个Bézier控制点的Y坐标 -
x2
- 第二个Bézier控制点的X坐标 -
y2
- 第二个Bézier控制点的Y坐标 -
x3
- 最终终点的X坐标 -
y3
- 最终终点的Y坐标 - 从以下版本开始:
- 1.6
-
closePath
public final void closePath()
通过将直线绘制回最后一个moveTo
的坐标来关闭当前子路径。 如果路径已经关闭,则此方法无效。- 从以下版本开始:
- 1.6
-
append
public final void append(Shape s, boolean connect)
将指定的Shape
对象的几何附加到路径,可能将新几何体连接到具有线段的现有路径段。 如果connect
参数为true
,并且路径不为空,则所附的Shape
的几何中的任何初始moveTo
Shape
将变为lineTo
段。 如果这种连接lineTo
段的目的地坐标与当前打开的子路径的结束坐标匹配,那么该段被省略为多余的。 指定的Shape
的绕组规则将被忽略,附加的几何体由为此路径指定的绕组规则控制。- 参数
-
s
- 其几何被附加到此路径的Shape
-
connect
- 一个布尔值,用于控制是否将初始化的moveTo
段转换为lineTo
段,以将新几何体连接到现有路径 - 从以下版本开始:
- 1.6
-
append
public abstract void append(PathIterator pi, boolean connect)
将指定的PathIterator
对象的几何附加到路径,可能将新几何体连接到具有线段的现有路径段。 如果connect
参数为true
,并且路径不为空,则附加的Shape
的几何中的任何初始moveTo
Shape
将变为lineTo
段。 如果这样的连接lineTo
段的目标坐标与当前打开的子路径的结束坐标匹配,则该段被省略为多余的。 指定的Shape
的绕组规则将被忽略,附加的几何体由为此路径指定的绕组规则控制。- 参数
-
pi
- 其几何被附加到此路径的PathIterator
-
connect
- 一个布尔值,用于控制是否将初始的moveTo
段转换为lineTo
段,以将新几何体连接到现有路径 - 从以下版本开始:
- 1.6
-
getWindingRule
public final int getWindingRule()
返回填充样式卷绕规则。- 结果
- 一个表示当前绕组规则的整数。
- 从以下版本开始:
- 1.6
- 另请参见:
-
WIND_EVEN_ODD
,WIND_NON_ZERO
,setWindingRule(int)
-
setWindingRule
public final void setWindingRule(int rule)
将此路径的绕组规则设置为指定值。- 参数
-
rule
- 表示指定绕组规则的整数 - 异常
-
IllegalArgumentException
- 如果rule
不是WIND_EVEN_ODD
或WIND_NON_ZERO
- 从以下版本开始:
- 1.6
- 另请参见:
-
getWindingRule()
-
getCurrentPoint
public final Point2D getCurrentPoint()
将最近添加到路径末尾的坐标作为Point2D
对象返回。- 结果
-
一个
Point2D
对象,包含路径的结束坐标,如果路径中没有点,null
。 - 从以下版本开始:
- 1.6
-
reset
public final void reset()
将路径重置为空。 追加位置被设置回路径的开头,所有坐标和点类型都被遗忘。- 从以下版本开始:
- 1.6
-
transform
public abstract void transform(AffineTransform at)
使用指定的AffineTransform
转换此路径的几何。 几何体被转换到位,永久地改变由该对象定义的边界。- 参数
-
at
-AffineTransform
用于转换区域 - 从以下版本开始:
- 1.6
-
createTransformedShape
public final Shape createTransformedShape(AffineTransform at)
返回一个新的Shape
代表这个Path2D
的转换版本。 请注意,此方法未指定返回值的确切类型和坐标精度。 该方法将返回一个Shape,该Path2D
对于转换后的几何不会比目前维护的Path2D
精度更低,但也可能不包含更多的精度。 如果结果中精度与存储大小的权衡很重要,则应使用Path2D.Float
和Path2D.Double
子类中的方便构造函数来进行选择。- 参数
-
at
-AffineTransform
用于转换新的Shape
。 - 结果
-
一个新的
Shape
,转换为指定的AffineTransform
。 - 从以下版本开始:
- 1.6
-
getBounds
public final 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.6
- 另请参见:
-
Shape.getBounds2D()
-
contains
public static boolean contains(PathIterator pi, double x, double y)
测试指定的坐标是否在指定的PathIterator
的封闭边界内。该方法为
Shape
接口的实现者提供了实现Shape.contains(double, double)
方法支持的基本功能。- 参数
-
pi
- 指定的PathIterator
-
x
- 指定的X坐标 -
y
- 指定的Y坐标 - 结果
-
true
如果指定的坐标在指定的PathIterator
; 否则为false
- 从以下版本开始:
- 1.6
-
contains
public static boolean contains(PathIterator pi, Point2D p)
测试指定Point2D
是指定的封闭边界内PathIterator
。该方法为
Shape
接口的实现者提供了实现Shape.contains(Point2D)
方法支持的基本功能。- 参数
-
pi
- 指定的PathIterator
-
p
- 指定的Point2D
- 结果
-
true
如果指定的坐标在指定的PathIterator
;false
否则 - 从以下版本开始:
- 1.6
-
contains
public final boolean contains(double x, double y)
测试指定的坐标是否在Shape
的边界内,如 definition of insideness所述 。
-
contains
public final boolean contains(Point2D p)
测试指定Point2D
是的边界内Shape
,如所描述的definition of insideness 。
-
contains
public static boolean contains(PathIterator pi, double x, double y, double w, double h)
测试指定的矩形区域是否完全在指定的PathIterator
的封闭边界内。这种方法为
Shape
接口的实现者提供了一个基本的工具来实现Shape.contains(double, double, double, double)
方法的支持。在指定的矩形区域与路径的段相交的情况下,该方法对象可以保守地返回false,但该段不表示路径的内部和外部之间的边界。 如果它们是具有
WIND_NON_ZERO
卷绕规则的路径的一部分,或者如果片段在相反方向上被回缩以使得两组片段彼此抵消而没有任何外部区域落在它们之间,那么这样的片段可以完全位于路径的内部中他们。 为了确定段代表路径内部的真实边界将需要涉及路径和绕组规则的所有段的广泛计算,因此超出了该实现的范围。- 参数
-
pi
- 指定的PathIterator
-
x
- 指定的X坐标 -
y
- 指定的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
true
如果指定的PathIterator
包含指定的矩形区域;false
否则。 - 从以下版本开始:
- 1.6
-
contains
public static boolean contains(PathIterator pi, Rectangle2D r)
测试指定Rectangle2D
是完全指定的封闭边界内PathIterator
。该方法为
Shape
接口的实现者提供了实现对Shape.contains(Rectangle2D)
方法的支持的基本功能。在指定的矩形区域与路径的段相交的情况下,该方法对象可以保守地返回false,但该段不表示路径的内部和外部之间的边界。 如果它们是具有
WIND_NON_ZERO
卷绕规则的路径的一部分,或者如果段在相反方向上被回缩以使得两组段彼此抵消而没有任何外部区域落在其间,则这样的段可以完全位于路径的内部中他们。 为了确定段代表路径内部的真实边界将需要涉及路径和绕组规则的所有段的广泛计算,因此超出了该实现的范围。- 参数
-
pi
- 指定的PathIterator
-
r
- 一个指定的Rectangle2D
- 结果
-
true
如果指定的PathIterator
包含指定的Rectangle2D
; 否则为false
。 - 从以下版本开始:
- 1.6
-
contains
public final boolean contains(double x, double y, double w, double h)
测试Shape
的内部Shape
完全包含指定的矩形区域。 位于矩形区域内的所有坐标必须位于Shape
内,整个矩形区域将被包含在Shape
。Shape.contains()
方法允许Shape
实现保守返回false
当:-
intersect
方法返回true
和 - 确定
Shape
是否完全包含矩形区域的计算是非常昂贵的。
Shapes
这个方法可能会返回false
即使Shape
包含矩形区域。Area
类比大多数Shape
对象执行更精确的几何计算,因此如果需要更精确的答案,则可以使用它。在指定的矩形区域与路径的段相交的情况下,该方法对象可以保守地返回false,但该段不表示路径的内部和外部之间的边界。 如果它们是具有
WIND_NON_ZERO
卷绕规则的路径的一部分或者如果段在相反方向上被回缩以使得两组段彼此抵消而没有任何外部区域落在两个区域之间,那么这样的段可以完全位于路径的内部中他们。 为了确定段代表路径内部的真实边界将需要涉及路径和绕组规则的所有段的广泛计算,因此超出了该实现的范围。- Specified by:
-
contains
在接口Shape
- 参数
-
x
- 指定矩形区域左上角的X坐标 -
y
- 指定矩形区域左上角的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
true
如果内部的Shape
完全包含指定的矩形区域;false
否则或如果Shape
包含矩形区域,并且intersects
方法返回true
并且包含计算将太昂贵执行。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Area
,Shape.intersects(double, double, double, double)
-
-
contains
public final boolean contains(Rectangle2D r)
测试Shape
的内部Shape
完全包含指定的Rectangle2D
。Shape.contains()
方法允许Shape
实现保守返回false
当:-
intersect
方法返回true
和 - 计算确定
Shape
是否完全包含Rectangle2D
是非常昂贵的。
Shapes
这个方法可能会返回false
即使Shape
包含Rectangle2D
。Area
类比大多数Shape
对象执行更精确的几何计算,因此如果需要更精确的答案,则可以使用它。在指定的矩形区域与路径的段相交的情况下,该方法对象可以保守地返回false,但该段不表示路径的内部和外部之间的边界。 如果它们是具有
WIND_NON_ZERO
绕组规则的路径的一部分,或者如果段在相反方向上被回溯以使得两组段彼此抵消而没有任何外部区域落在其间,则这些段可以完全位于路径的内部中他们。 为了确定段代表路径内部的真实边界将需要涉及路径和绕组规则的所有段的广泛计算,因此超出了该实现的范围。- Specified by:
-
contains
在接口Shape
- 参数
-
r
- 指定的Rectangle2D
- 结果
-
true
如果内部的Shape
完全包含Rectangle2D
;false
否则或如果Shape
包含Rectangle2D
和intersects
方法返回true
并且包含计算将太昂贵执行。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Shape.contains(double, double, double, double)
-
-
intersects
public static boolean intersects(PathIterator pi, double x, double y, double w, double h)
测试指定的PathIterator
的内部是否与指定的一组直角坐标的内部相交。该方法为
Shape
接口的实现者提供了实现Shape.intersects(double, double, double, double)
方法支持的基本功能。在指定的矩形区域与路径的段相交的情况下,该方法对象可以保守地返回true,但该段不表示路径的内部和外部之间的边界。 如果路径的一些段的一部分在相反的方向回溯,使得两组段相互抵消而没有它们之间的任何内部区域,则可能发生这种情况。 为了确定段代表路径内部的真实边界将需要涉及路径和绕组规则的所有段的广泛计算,因此超出了该实现的范围。
- 参数
-
pi
- 指定的PathIterator
-
x
- 指定的X坐标 -
y
- 指定的Y坐标 -
w
- 指定的直角坐标的宽度 -
h
- 指定的直角坐标的高度 - 结果
-
true
如果指定的PathIterator
和指定的一组直角坐标的内部相交;false
否则。 - 从以下版本开始:
- 1.6
-
intersects
public static boolean intersects(PathIterator pi, Rectangle2D r)
测试指定的内部PathIterator
是否与指定的内部相交Rectangle2D
。该方法为
Shape
接口的实现者提供了实现Shape.intersects(Rectangle2D)
方法支持的基本功能。在指定的矩形区域与路径的段相交的情况下,该方法对象可以保守地返回true,但该段不表示路径的内部和外部之间的边界。 如果路径的一些段的一部分在相反的方向回溯,使得两组段相互抵消而没有它们之间的任何内部区域,则可能发生这种情况。 为了确定段代表路径内部的真实边界将需要涉及路径和绕组规则的所有段的广泛计算,因此超出了该实现的范围。
- 参数
-
pi
- 指定的PathIterator
-
r
- 指定的Rectangle2D
- 结果
-
true
如果指定的PathIterator
和指定的内部Rectangle2D
相互相交; 否则为false
。 - 从以下版本开始:
- 1.6
-
intersects
public final boolean intersects(double x, double y, double w, double h)
测试Shape
的内部是否与指定矩形区域的内部相交。 如果任何点包含在Shape
的内部和指定的矩形区域中,则矩形区域被认为与Shape
相交。Shape.intersects()
方法允许Shape
实现保守返回true
时:- 矩形区域和
Shape
相交的概率很高,但是 - 准确地确定这个交叉点的计算是非常昂贵的。
Shapes
这个方法可能会返回true
即使矩形区域不与Shape
相交。Area
类比大多数Shape
对象执行几何交集的更准确的计算,因此如果需要更精确的答案,则可以使用它。在指定的矩形区域与路径的段相交的情况下,该方法对象可以保守地返回true,但该段不表示路径的内部和外部之间的边界。 如果路径的一些段的一部分在相反的方向回溯,使得两组段相互抵消而没有它们之间的任何内部区域,则可能发生这种情况。 为了确定段代表路径内部的真实边界将需要涉及路径和绕组规则的所有段的广泛计算,因此超出了该实现的范围。
- Specified by:
-
intersects
在接口Shape
- 参数
-
x
- 指定矩形区域左上角的X坐标 -
y
- 指定矩形区域左上角的Y坐标 -
w
- 指定矩形区域的宽度 -
h
- 指定矩形区域的高度 - 结果
-
true
如果Shape
的内部和矩形区域的内部相交,或者两者都很可能相交,并且交叉点计算将太昂贵执行;false
否则。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Area
- 矩形区域和
-
intersects
public final boolean intersects(Rectangle2D r)
测试Shape
的内部是否与指定的内部相交Rectangle2D
。Shape.intersects()
方法允许一个Shape
实现保守返回true
当时:-
Rectangle2D
和Shape
相交的概率很高,但是 - 准确地确定这个交叉点的计算是非常昂贵的。
Shapes
这个方法可能会返回true
即使Rectangle2D
不与Shape
相交。Area
类比大多数Shape
对象执行几何交集的更准确的计算,因此如果需要更精确的答案,则可以使用它。在指定的矩形区域与路径的段相交的情况下,该方法对象可以保守地返回true,但该段不表示路径的内部和外部之间的边界。 如果路径的一些段的一部分在相反的方向回溯,使得两组段相互抵消而没有它们之间的任何内部区域,则可能发生这种情况。 为了确定段代表路径内部的真实边界将需要涉及路径和绕组规则的所有段的广泛计算,因此超出了该实现的范围。
- Specified by:
-
intersects
在接口Shape
- 参数
-
r
- 指定的Rectangle2D
- 结果
-
true
如果Shape
的内部和指定的Rectangle2D
的内部相交,或者很可能相交,并且交叉点计算将太昂贵,不能执行; 否则为false
。 - 从以下版本开始:
- 1.6
- 另请参见:
-
Shape.intersects(double, double, double, double)
-
-
getPathIterator
public final PathIterator getPathIterator(AffineTransform at, double flatness)
返回一个沿着Shape
边界迭代的迭代器对象,并提供对Shape
轮廓几何体的平坦化视图的访问。只有SEG_MOVETO,SEG_LINETO和SEG_CLOSE点类型由迭代器返回。
如果指定了可选的
AffineTransform
,则相应地转换迭代中返回的坐标。曲线段的细分量由
flatness
参数控制,该参数指定未平坦化变换曲线上的任何点可能偏离返回的平坦化路径段的最大距离。 注意,平坦化路径的精度的限制可能会被默认地施加,导致非常小的平坦化参数被视为较大的值。 这个限制(如果有的话)是由所使用的特定实现来定义的。对此方法的每次调用都将返回一个新鲜的
PathIterator
对象,该对象与所使用的任何其他PathIterator
对象同时遍历Shape
对象几何。建议但不能保证实现
Shape
接口的对象会隔离Shape
迭代,这些迭代可能会在此类迭代期间对原始对象的几何构成的任何更改进行任何更改。此类的迭代器不是多线程安全的,这意味着此
Path2D
类不保证对此Path2D
对象的几何的修改不会影响已处理的该几何的任何迭代。- Specified by:
-
getPathIterator
在接口Shape
- 参数
-
at
- 要在迭代中返回时应用于坐标的可选AffineTransform
,如果需要未转换的坐标,null
-
flatness
- 用于近似曲线段的线段的最大距离允许偏离原始曲线上的任何点 - 结果
-
一个新的
PathIterator
独立地横穿的几何形状的平面视图Shape
。 - 从以下版本开始:
- 1.6
-
clone
public abstract Object clone()
创建与此对象相同类的新对象。- 重写:
-
clone
在Object
- 结果
- 这个实例的一个克隆。
- 异常
-
OutOfMemoryError
- 如果没有足够的内存 - 从以下版本开始:
- 1.6
- 另请参见:
-
Cloneable
-
-