Module java.desktop
Package java.awt.geom

Class Path2D.Float

java.lang.Object
java.awt.geom.Path2D
java.awt.geom.Path2D.Float
所有已实现的接口:
Shape, Serializable, Cloneable
直接已知的子类:
GeneralPath
封装类:
Path2D

public static non-sealed class Path2D.Float extends Path2D implements Serializable
Float类定义了一个几何路径,其中的坐标以单精度浮点数存储。
自1.6版本起:
1.6
另请参阅:
  • Nested Class Summary

    Nested classes/interfaces declared in class java.awt.geom.Path2D

    Path2D.Double, Path2D.Float
  • Field Summary

    Fields declared in class java.awt.geom.Path2D

    WIND_EVEN_ODD, WIND_NON_ZERO
  • Constructor Summary

    Constructors
    Constructor
    Description
    Float()
    构造一个新的空的单精度Path2D对象,其默认绕组规则为Path2D.WIND_NON_ZERO
    Float(int rule)
    构造一个新的空的单精度Path2D对象,其指定绕组规则用于控制需要定义路径内部的操作。
    Float(int rule, int initialCapacity)
    构造一个新的空的单精度Path2D对象,其指定绕组规则和指定的初始容量用于存储路径段。
    Float(Shape s)
    从任意Shape对象构造一个新的单精度Path2D对象。
    从任意Shape对象构造一个新的单精度Path2D对象,通过AffineTransform对象进行变换。
  • Method Summary

    Modifier and Type
    Method
    Description
    final void
    append(PathIterator pi, boolean connect)
    将指定PathIterator对象的几何形状附加到路径中,可能使用线段将新几何形状连接到现有路径段。
    final Object
    clone()
    创建与此对象相同类的新对象。
    final void
    curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
    添加一个曲线段,由三个新点定义,通过绘制贝塞尔曲线将当前坐标和指定坐标(x3,y3)相交,使用指定点(x1,y1)(x2,y2)作为贝塞尔控制点。
    final void
    curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
    添加一个曲线段,由三个新点定义,通过绘制贝塞尔曲线将当前坐标和指定坐标(x3,y3)相交,使用指定点(x1,y1)(x2,y2)作为贝塞尔控制点。
    final Rectangle2D
    返回Shape的高精度和更准确的边界框,比getBounds方法更准确。
    final PathIterator
    返回一个迭代器对象,沿着Shape边界进行迭代,并提供对Shape轮廓几何的访问。
    final void
    lineTo(double x, double y)
    通过从当前坐标到双精度指定的新坐标绘制直线来向路径添加一个点。
    final void
    lineTo(float x, float y)
    通过从当前坐标到浮点精度指定的新坐标绘制直线来向路径添加一个点。
    final void
    moveTo(double x, double y)
    通过移动到双精度指定的坐标来向路径添加一个点。
    final void
    moveTo(float x, float y)
    通过移动到浮点精度指定的坐标来向路径添加一个点。
    final void
    quadTo(double x1, double y1, double x2, double y2)
    通过绘制二次曲线,将当前坐标和指定坐标(x2,y2)相交,使用指定点(x1,y1)作为二次参数控制点,向路径添加一个曲线段。
    final void
    quadTo(float x1, float y1, float x2, float y2)
    通过绘制二次曲线,将当前坐标和指定坐标(x2,y2)相交,使用指定点(x1,y1)作为二次参数控制点,向路径添加一个曲线段。
    final void
    使用指定的AffineTransform对象转换此路径的几何形状。
    final void
    将此Path2D实例的容量修剪到其当前大小。

    Methods declared in class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Float

      public Float()
      构造一个新的空的单精度Path2D对象,其默认绕组规则为Path2D.WIND_NON_ZERO
      自1.6版本起:
      1.6
    • Float

      public Float(int rule)
      构造一个新的空的单精度Path2D对象,其指定绕组规则用于控制需要定义路径内部的操作。
      参数:
      rule - 绕组规则
      抛出:
      IllegalArgumentException - 如果rule既不是Path2D.WIND_EVEN_ODD也不是Path2D.WIND_NON_ZERO
      自1.6版本起:
      1.6
      另请参阅:
    • Float

      public Float(int rule, int initialCapacity)
      构造一个新的空的单精度Path2D对象,其指定绕组规则和指定的初始容量用于存储路径段。这个数字是对将要添加到路径中的路径段数量的初始猜测,但根据需要扩展存储以存储添加的任何路径段。
      参数:
      rule - 绕组规则
      initialCapacity - 路径中路径段数量的估计值
      抛出:
      IllegalArgumentException - 如果rule既不是Path2D.WIND_EVEN_ODD也不是Path2D.WIND_NON_ZERO
      NegativeArraySizeException - 如果initialCapacity为负数
      自1.6版本起:
      1.6
      另请参阅:
    • Float

      public Float(Shape s)
      从任意Shape对象构造一个新的单精度Path2D对象。此路径的所有初始几何和绕组规则都来自指定的Shape对象。
      参数:
      s - 指定的Shape对象
      抛出:
      NullPointerException - 如果snull
      自1.6版本起:
      1.6
    • Float

      public Float(Shape s, AffineTransform at)
      从任意Shape对象构造一个新的单精度Path2D对象,通过AffineTransform对象进行变换。此路径的所有初始几何和绕组规则都来自指定的Shape对象,并由指定的AffineTransform对象进行变换。
      参数:
      s - 指定的Shape对象
      at - 指定的AffineTransform对象
      抛出:
      NullPointerException - 如果snull
      自1.6版本起:
      1.6
  • Method Details

    • trimToSize

      public final void trimToSize()
      从类中复制的描述: Path2D
      将此Path2D实例的容量修剪到其当前大小。应用程序可以使用此操作来最小化路径的存储。
      指定者:
      trimToSize 在类 Path2D
    • moveTo

      public final void moveTo(double x, double y)
      通过移动到双精度指定的坐标来向路径添加一个点。
      指定者:
      moveTo 在类 Path2D
      参数:
      x - 指定的X坐标
      y - 指定的Y坐标
      自1.6版本起:
      1.6
    • moveTo

      public final void moveTo(float x, float y)
      通过移动到浮点精度指定的坐标来向路径添加一个点。

      此方法提供了基本Path2D类上双精度moveTo()方法的单精度变体。

      参数:
      x - 指定的X坐标
      y - 指定的Y坐标
      自1.6版本起:
      1.6
      另请参阅:
    • lineTo

      public final void lineTo(double x, double y)
      通过从当前坐标到双精度指定的新坐标绘制直线来向路径添加一个点。
      指定者:
      lineTo 在类 Path2D
      参数:
      x - 指定的X坐标
      y - 指定的Y坐标
      自1.6版本起:
      1.6
    • lineTo

      public final void lineTo(float x, float y)
      添加一个点到路径,通过从当前坐标到指定的新坐标(以浮点精度指定)画一条直线。

      此方法提供了基本Path2D类上双精度lineTo()方法的单精度变体。

      参数:
      x - 指定的X坐标
      y - 指定的Y坐标
      自从:
      1.6
      参见:
    • quadTo

      public final void quadTo(double x1, double y1, double x2, double y2)
      通过绘制一个二次曲线段,由两个新点定义,将路径添加到路径中,该曲线与当前坐标和指定坐标(x2,y2)相交,使用指定点(x1,y1)作为二次曲线的控制点。所有坐标均以双精度指定。
      由以下指定:
      quadTo 在类 Path2D
      参数:
      x1 - 二次控制点的X坐标
      y1 - 二次控制点的Y坐标
      x2 - 最终端点的X坐标
      y2 - 最终端点的Y坐标
      自从:
      1.6
    • quadTo

      public final void quadTo(float x1, float y1, float x2, float y2)
      通过绘制一个二次曲线段,由两个新点定义,将路径添加到路径中,该曲线与当前坐标和指定坐标(x2,y2)相交,使用指定点(x1,y1)作为二次曲线的控制点。所有坐标均以浮点精度指定。

      此方法提供了基本Path2D类上双精度quadTo()方法的单精度变体。

      参数:
      x1 - 二次控制点的X坐标
      y1 - 二次控制点的Y坐标
      x2 - 最终端点的X坐标
      y2 - 最终端点的Y坐标
      自从:
      1.6
      参见:
    • curveTo

      public final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
      通过绘制一个三次贝塞尔曲线段,由三个新点定义,将路径添加到路径中,该曲线与当前坐标和指定坐标(x3,y3)相交,使用指定点(x1,y1)(x2,y2)作为贝塞尔控制点。所有坐标均以双精度指定。
      由以下指定:
      curveTo 在类 Path2D
      参数:
      x1 - 第一个贝塞尔控制点的X坐标
      y1 - 第一个贝塞尔控制点的Y坐标
      x2 - 第二个贝塞尔控制点的X坐标
      y2 - 第二个贝塞尔控制点的Y坐标
      x3 - 最终端点的X坐标
      y3 - 最终端点的Y坐标
      自从:
      1.6
    • curveTo

      public final void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
      通过绘制一个三次贝塞尔曲线段,由三个新点定义,将路径添加到路径中,该曲线与当前坐标和指定坐标(x3,y3)相交,使用指定点(x1,y1)(x2,y2)作为贝塞尔控制点。所有坐标均以浮点精度指定。

      此方法提供了基本Path2D类上双精度curveTo()方法的单精度变体。

      参数:
      x1 - 第一个贝塞尔控制点的X坐标
      y1 - 第一个贝塞尔控制点的Y坐标
      x2 - 第二个贝塞尔控制点的X坐标
      y2 - 第二个贝塞尔控制点的Y坐标
      x3 - 最终端点的X坐标
      y3 - 最终端点的Y坐标
      自从:
      1.6
      参见:
    • append

      public final void append(PathIterator pi, boolean connect)
      将指定的PathIterator对象的几何形状附加到路径,可能使用一条线段将新几何形状连接到现有路径段。如果connect参数为true且路径不为空,则附加的Shape的几何中的任何初始moveTo都会转换为lineTo段。如果这样一个连接的lineTo段的目标坐标与当前打开子路径的结束坐标匹配,则该段将被省略为多余的。忽略指定Shape的绕组规则,附加的几何由为此路径指定的绕组规则控制。
      由以下指定:
      append 在类 Path2D
      参数:
      pi - 要附加到此路径的PathIterator
      connect - 一个布尔值,用于控制是否将初始moveTo段转换为lineTo段以连接新几何形状到现有路径
      自从:
      1.6
    • transform

      public final void transform(AffineTransform at)
      使用指定的AffineTransform转换此路径的几何。几何将就地转换,从而永久更改此对象定义的边界。
      由以下指定:
      transform 在类 Path2D
      参数:
      at - 用于转换区域的AffineTransform
      自从:
      1.6
    • getBounds2D

      public final Rectangle2D getBounds2D()
      返回Shape的高精度和更准确的边界框,比getBounds方法更准确。请注意,不能保证返回的Rectangle2D是包围Shape的最小边界框,只能保证Shape完全位于指示的Rectangle2D内。此方法返回的边界框通常比getBounds方法返回的边界框更紧凑,并且永远不会因溢出问题而失败,因为返回值可以是使用双精度值存储尺寸的Rectangle2D的实例。

      请注意,内部定义的定义可能导致定义的形状轮廓上的点可能不被认为包含在返回的bounds对象中,但只有在这些点也不被认为包含在原始shape中的情况下才是如此。

      如果一个point根据contains(point)方法在shape内部,那么根据boundscontains(point)方法,它必须在返回的Rectangle2D边界对象内部。具体来说:

      shape.contains(p)要求bounds.contains(p)

      如果一个point不在shape内部,那么它可能仍然包含在bounds对象中:

      bounds.contains(p)不意味着shape.contains(p)

      由以下指定:
      getBounds2D 在接口 Shape
      返回:
      Shape的高精度边界框的实例。
      自从:
      1.6
      参见:
    • getPathIterator

      public final PathIterator getPathIterator(AffineTransform at)
      返回一个迭代器对象,沿着Shape边界迭代,并提供对Shape轮廓几何的访问。如果指定了可选的AffineTransform,则迭代中返回的坐标将相应地进行转换。

      每次调用此方法都会返回一个新的PathIterator对象,独立于同时使用的任何其他PathIterator对象遍历Shape对象的几何。

      建议但不保证实现Shape接口的对象将正在进行的迭代与在这些迭代期间可能发生的对原始对象几何的任何更改隔离开来。

      此类的迭代器不是多线程安全的,这意味着Path2D类不保证对此Path2D对象的几何的修改不会影响已经在进行的该几何的任何迭代。

      由以下指定:
      getPathIterator 在接口 Shape
      参数:
      at - 可选的AffineTransform,用于在迭代中返回的坐标上应用转换,如果希望使用未转换的坐标,则为null
      返回:
      一个新的PathIterator对象,独立遍历Shape的几何。
      自从:
      1.6
    • clone

      public final Object clone()
      创建与此对象相同类的新对象。
      指定者:
      clone 在类 Path2D
      返回:
      此实例的克隆。
      抛出:
      OutOfMemoryError - 如果内存不足。
      自:
      1.6
      参见: