Module java.desktop
Package java.awt.geom

Class Arc2D

所有已实现的接口:
Shape, Cloneable
直接已知的子类:
Arc2D.Double, Arc2D.Float

public abstract class Arc2D extends RectangularShape
自1.2版本起:
1.2
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    该类定义了以double精度指定的弧。
    static class 
    该类定义了以float精度指定的弧。
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    通过从弧段的起始点到弧段的结束点绘制一条直线段来关闭弧的闭合类型。
    static final int
    无路径段连接弧段两端的开放弧的闭合类型。
    static final int
    PIE
    通过从弧段的起始点到完整椭圆的中心绘制直线段,然后从该点到弧段的结束点来关闭弧的闭合类型。
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    Arc2D()
    这是一个无法直接实例化的抽象类。
    protected
    Arc2D(int type)
    这是一个无法直接实例化的抽象类。
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    contains(double x, double y)
    确定指定点是否在弧的边界内部。
    boolean
    contains(double x, double y, double w, double h)
    确定弧的内部是否完全包含指定的矩形。
    boolean
    确定弧的内部是否完全包含指定的矩形。
    boolean
    containsAngle(double angle)
    确定指定角度是否在弧的角度范围内。
    boolean
    equals(Object obj)
    确定指定的Object是否等于此Arc2D
    abstract double
    返回弧的角度范围。
    abstract double
    返回弧的起始角度。
    int
    返回弧的闭合类型:OPENCHORDPIE
    返回弧的高精度框架矩形。
    返回弧的结束点。
    返回定义弧边界的迭代对象。
    返回弧的起始点。
    int
    返回此Arc2D的哈希码。
    boolean
    intersects(double x, double y, double w, double h)
    确定弧的内部是否与指定矩形的内部相交。
    protected abstract Rectangle2D
    makeBounds(double x, double y, double w, double h)
    构造一个适合保存计算为此弧的框架矩形的参数的Rectangle2D
    abstract void
    setAngleExtent(double angExt)
    将此弧的角度范围设置为指定的双精度值。
    void
    setAngles(double x1, double y1, double x2, double y2)
    使用两组坐标设置此弧的起始角度和角度范围。
    void
    使用两个点设置此弧的起始角度和角度范围。
    abstract void
    setAngleStart(double angSt)
    将此弧的起始角度设置为指定的双精度值。
    void
    将此弧的起始角度设置为指定点相对于此弧中心定义的角度。
    abstract void
    setArc(double x, double y, double w, double h, double angSt, double angExt, int closure)
    将此弧的位置、大小、角度范围和闭合类型设置为指定的双精度值。
    void
    将此弧设置为与指定弧相同。
    void
    setArc(Point2D loc, Dimension2D size, double angSt, double angExt, int closure)
    将此弧的位置、大小、角度范围和闭合类型设置为指定值。
    void
    setArc(Rectangle2D rect, double angSt, double angExt, int closure)
    将此弧的位置、大小、角度范围和闭合类型设置为指定值。
    void
    setArcByCenter(double x, double y, double radius, double angSt, double angExt, int closure)
    将此弧的位置、边界、角度范围和闭合类型设置为指定值。
    void
    setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)
    将此弧的位置、边界和角度范围设置为指定值。
    void
    setArcType(int type)
    将此弧的闭合类型设置为指定值:OPENCHORDPIE
    void
    setFrame(double x, double y, double w, double h)
    将此Shape的框架矩形的位置和大小设置为指定的矩形值。

    Methods declared in class java.lang.Object

    finalize, getClass, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • OPEN

      public static final int OPEN
      无路径段连接弧段两端的开放弧的闭合类型。
      自1.2版本起:
      1.2
      参见:
    • CHORD

      public static final int CHORD
      通过从弧段的起始点到弧段的结束点绘制一条直线段来关闭弧的闭合类型。
      自1.2版本起:
      1.2
      参见:
    • PIE

      public static final int PIE
      通过从弧段的起始点到完整椭圆的中心绘制直线段,然后从该点到弧段的结束点来关闭弧的闭合类型。
      自1.2版本起:
      1.2
      参见:
  • Constructor Details

    • Arc2D

      protected Arc2D()
      这是一个无法直接实例化的抽象类。可用于实例化的特定类型实现子类可提供多种格式,用于存储满足下面的各种访问器方法所需的信息。

      此构造函数创建一个具有默认闭合类型OPEN的对象。仅提供此构造函数以启用子类的序列化。

      参见:
    • Arc2D

      protected Arc2D(int type)
      这是一个无法直接实例化的抽象类。可用于实例化的特定类型实现子类可提供多种格式,用于存储满足下面的各种访问器方法所需的信息。
      参数:
      type - 此弧的闭合类型:OPENCHORDPIE
      自1.2版本起:
      1.2
      参见:
  • Method Details

    • getAngleStart

      public abstract double getAngleStart()
      返回弧的起始角度。
      返回:
      代表弧的起始角度(以度为单位)的双精度值。
      自1.2版本起:
      1.2
      参见:
    • getAngleExtent

      public abstract double getAngleExtent()
      返回弧的角度范围。
      返回:
      代表弧的角度范围(以度为单位)的双精度值。
      自1.2版本起:
      1.2
      参见:
    • getArcType

      public int getArcType()
      返回弧的闭合类型:OPENCHORDPIE
      返回:
      此类中定义的整数常量闭合类型之一。
      自1.2版本起:
      1.2
      参见:
    • getStartPoint

      public Point2D getStartPoint()
      返回弧的起始点。该点是由起始角度定义的中心射线与弧的椭圆边界的交点。
      返回:
      代表弧的起始点的x、y坐标的Point2D对象。
      自1.2版本起:
      1.2
    • getEndPoint

      public Point2D getEndPoint()
      返回弧的结束点。该点是由起始角度加上弧的角度范围定义的中心射线与弧的椭圆边界的交点。
      返回:
      代表弧的结束点的x、y坐标的Point2D对象。
      自1.2版本起:
      1.2
    • setArc

      public abstract void setArc(double x, double y, double w, double h, double angSt, double angExt, int closure)
      将此弧的位置、大小、角度范围和闭合类型设置为指定的双精度值。
      参数:
      x - 弧的左上角的X坐标。
      y - 弧的左上角的Y坐标。
      w - 此弧是其部分截面的完整椭圆的总宽度。
      h - 此弧是其部分截面的完整椭圆的总高度。
      angSt - 弧的起始角度(以度为单位)。
      angExt - 弧的角度范围(以度为单位)。
      closure - 弧的闭合类型:OPENCHORDPIE
      自1.2版本起:
      1.2
    • setArc

      public void setArc(Point2D loc, Dimension2D size, double angSt, double angExt, int closure)
      将此弧的位置、大小、角度范围和闭合类型设置为指定值。
      参数:
      loc - 表示弧的左上角坐标的Point2D
      size - 表示完整椭圆的宽度和高度的Dimension2D,该椭圆的一部分是此弧。
      angSt - 弧的起始角度(以度为单位)。
      angExt - 弧的角度范围(以度为单位)。
      closure - 弧的闭合类型:OPENCHORDPIE
      自版本:
      1.2
    • setArc

      public void setArc(Rectangle2D rect, double angSt, double angExt, int closure)
      将此弧的位置、大小、角度范围和闭合类型设置为指定值。
      参数:
      rect - 定义包围完整椭圆的外边界的框架矩形。
      angSt - 弧的起始角度(以度为单位)。
      angExt - 弧的角度范围(以度为单位)。
      closure - 弧的闭合类型:OPENCHORDPIE
      自版本:
      1.2
    • setArc

      public void setArc(Arc2D a)
      将此弧设置为与指定弧相同。
      参数:
      a - 用于设置弧值的Arc2D
      自版本:
      1.2
    • setArcByCenter

      public void setArcByCenter(double x, double y, double radius, double angSt, double angExt, int closure)
      将此弧的位置、边界、角度范围和闭合类型设置为指定值。该弧由中心点和半径定义,而不是完整椭圆的框架矩形。
      参数:
      x - 弧的中心点的X坐标。
      y - 弧的中心点的Y坐标。
      radius - 弧的半径。
      angSt - 弧的起始角度(以度为单位)。
      angExt - 弧的角度范围(以度为单位)。
      closure - 弧的闭合类型:OPENCHORDPIE
      自版本:
      1.2
    • setArcByTangent

      public void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius)
      将此弧的位置、边界和角度范围设置为指定值。弧的起始角度与由点(p1,p2)指定的线相切,结束角度与由点(p2,p3)指定的线相切,并且弧具有指定的半径。
      参数:
      p1 - 定义弧的第一个点。弧的起始角度与由点(p1,p2)指定的线相切。
      p2 - 定义弧的第二个点。弧的起始角度与由点(p1,p2)指定的线相切。弧的结束角度与由点(p2,p3)指定的线相切。
      p3 - 定义弧的第三个点。弧的结束角度与由点(p2,p3)指定的线相切。
      radius - 弧的半径。
      自版本:
      1.2
    • setAngleStart

      public abstract void setAngleStart(double angSt)
      将此弧的起始角度设置为指定的双精度值。
      参数:
      angSt - 弧的起始角度(以度为单位)。
      自版本:
      1.2
      参见:
    • setAngleExtent

      public abstract void setAngleExtent(double angExt)
      将此弧的角度范围设置为指定的双精度值。
      参数:
      angExt - 弧的角度范围(以度为单位)。
      自版本:
      1.2
      参见:
    • setAngleStart

      public void setAngleStart(Point2D p)
      将此弧的起始角度设置为指定点相对于此弧中心定义的角度。弧的角度范围将保持不变。
      参数:
      p - 定义起始角度的Point2D
      自版本:
      1.2
      参见:
    • setAngles

      public void setAngles(double x1, double y1, double x2, double y2)
      使用两组坐标设置此弧的起始角度和角度范围。第一组坐标用于确定起始点相对于弧中心的角度。第二组坐标用于确定终点相对于弧中心的角度。弧始终是非空的,并且沿逆时针方向从第一个点绕到第二个点。
      参数:
      x1 - 弧起始点的X坐标。
      y1 - 弧起始点的Y坐标。
      x2 - 弧结束点的X坐标。
      y2 - 弧结束点的Y坐标。
      自版本:
      1.2
    • setAngles

      public void setAngles(Point2D p1, Point2D p2)
      使用两个点设置此弧的起始角度和角度范围。第一个点用于确定起始点相对于弧中心的角度。第二个点用于确定终点相对于弧中心的角度。弧始终是非空的,并且沿逆时针方向从第一个点绕到第二个点。
      参数:
      p1 - 定义弧起始点的Point2D
      p2 - 定义弧结束点的Point2D
      自版本:
      1.2
    • setArcType

      public void setArcType(int type)
      将此弧的闭合类型设置为指定值:OPENCHORDPIE
      参数:
      type - 表示此弧的闭合类型的整数常量:OPENCHORDPIE
      抛出:
      IllegalArgumentException - 如果type不是0、1或2。
      自版本:
      1.2
      参见:
    • setFrame

      public void setFrame(double x, double y, double w, double h)
      将此Shape的框架矩形的位置和大小设置为指定的矩形值。请注意,弧部分内切于此RectangularShape的框架矩形。
      在类中指定:
      setFrame 在类 RectangularShape
      参数:
      x - 指定矩形形状左上角的X坐标
      y - 指定矩形形状左上角的Y坐标
      w - 指定矩形形状的宽度
      h - 指定矩形形状的高度
      自版本:
      1.2
      参见:
    • getBounds2D

      public Rectangle2D getBounds2D()
      返回弧的高精度框架矩形。框架矩形仅包含此Arc2D中起始和结束角度之间的部分,并包含饼形楔形,如果此Arc2D具有PIE闭合类型。

      此方法与getBounds方法不同之处在于getBounds方法仅返回此Arc2D的包围椭圆的边界,而不考虑此Arc2D的起始和结束角度。

      返回:
      表示弧框架矩形的Rectangle2D
      自版本:
      1.2
      参见:
    • makeBounds

      protected abstract Rectangle2D makeBounds(double x, double y, double w, double h)
      构造一个适当精度的Rectangle2D,以容纳计算为此弧的框架矩形的参数。
      参数:
      x - 框架矩形左上角的X坐标。
      y - 框架矩形左上角的Y坐标。
      w - 框架矩形的宽度。
      h - 框架矩形的高度。
      返回:
      作为此弧框架矩形的Rectangle2D
      自版本:
      1.2
    • containsAngle

      public boolean containsAngle(double angle)
      确定指定角度是否在弧的角度范围内。
      参数:
      angle - 要测试的角度。
      返回:
      如果弧包含角度,则返回true,如果弧不包含角度,则返回false
      自版本:
      1.2
    • contains

      public boolean contains(double x, double y)
      确定指定点是否在弧的边界内。
      参数:
      x - 要测试的点的X坐标。
      y - 要测试的点的Y坐标。
      返回:
      如果点位于弧的边界内,则返回true,如果点位于弧的边界外,则返回false
      自版本:
      1.2
    • intersects

      public boolean intersects(double x, double y, double w, double h)
      确定弧的内部是否与指定矩形的内部相交。
      参数:
      x - 矩形左上角的X坐标。
      y - 矩形左上角的Y坐标。
      w - 矩形的宽度。
      h - 矩形的高度。
      返回:
      如果弧与矩形相交,则返回true,如果弧不与矩形相交,则返回false
      自版本:
      1.2
      参见:
    • contains

      public boolean contains(double x, double y, double w, double h)
      确定弧的内部是否完全包含指定的矩形。
      参数:
      x - 矩形左上角的X坐标。
      y - 矩形左上角的Y坐标。
      w - 矩形的宽度。
      h - 矩形的高度。
      返回值:
      如果弧包含矩形,则返回true,如果弧不包含矩形,则返回false
      自版本:
      1.2
      参见:
    • contains

      public boolean contains(Rectangle2D r)
      确定弧的内部是否完全包含指定的矩形。
      指定者:
      contains 在接口 Shape
      覆盖:
      contains 在类 RectangularShape
      参数:
      r - 要测试的Rectangle2D
      返回值:
      如果弧包含矩形,则返回true,如果弧不包含矩形,则返回false
      自版本:
      1.2
      参见:
    • getPathIterator

      public PathIterator getPathIterator(AffineTransform at)
      返回定义弧边界的迭代对象。此迭代器是多线程安全的。Arc2D保证对弧的几何形状的修改不会影响已经在进行中的几何形状的任何迭代。
      参数:
      at - 可选的AffineTransform,用于在迭代返回坐标时应用,如果希望使用未转换的坐标,则为null。
      返回值:
      定义弧边界的PathIterator
      自版本:
      1.2
    • hashCode

      public int hashCode()
      返回此Arc2D的哈希码。
      覆盖:
      hashCode 在类 Object
      返回值:
      Arc2D的哈希码。
      自版本:
      1.6
      参见:
    • equals

      public boolean equals(Object obj)
      确定指定的Object是否等于此Arc2D。如果指定的ObjectArc2D的实例,并且其位置、大小、弧度和类型与此Arc2D相同,则指定的Object等于此Arc2D
      覆盖:
      equals 在类 Object
      参数:
      obj - 要与此Arc2D进行比较的Object
      返回值:
      如果objArc2D的实例并且具有相同的值,则返回true;否则返回false
      自版本:
      1.6
      参见: