AWT Arc2D类

1 什么是Java AWT Arc2D

Arc2D 类是存储由框架矩形、起始角度、角度范围(弧的长度)和闭合类型(OPEN、CHORD 或 PIE)定义的 2D 弧的所有对象的超类。

2 Java AWT Arc2D的语法

public abstract class Arc2D
   extends RectangularShape

3 Java AWT Arc2D的构造方法

构造方法 描述
protected Arc2D(int type) 这是一个不能直接实例化的抽象类。

4 Java AWT Arc2D的方法

方法 描述
boolean contains(double x, double y) 确定指定点是否在圆弧边界内。
boolean contains(double x, double y, double w, double h) 确定弧的内部是否完全包含指定的矩形。
boolean contains(Rectangle2D r) 确定弧的内部是否完全包含指定的矩形。
boolean containsAngle(double angle) 确定指定的角度是否在圆弧的角度范围内。
boolean equals(Object obj) 确定指定的对象是否等于此 Arc2D。
abstract double getAngleExtent() 返回弧的角度范围。
abstract double getAngleStart() 返回圆弧的起始角度。
int getArcType() 返回弧的弧闭合类型:OPEN、CHORD 或 PIE。
Rectangle2D getBounds2D() 返回弧的高精度框架矩形。
Point2D getEndPoint() 返回圆弧的终点。
PathIterator getPathIterator(AffineTransform at) 返回定义弧边界的迭代对象。
Point2D getStartPoint() 返回圆弧的起点。
int hashCode() 返回此 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 setAngles(Point2D p1, Point2D p2) 使用两点设置此圆弧的起始角度和角度范围。
abstract void setAngleStart(double angSt) 将此弧的起始角度设置为指定的双精度值。
void setAngleStart(Point2D p) 将此圆弧的起始角度设置为指定点相对于该圆弧中心定义的角度。
void setArc(Arc2D a) 将此弧设置为与指定弧相同。
abstract void setArc(double x, double y, double w, double h, double angSt, double angExt, int closure) 将此弧的位置、大小、角度范围和闭合类型设置为指定的双精度值。
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) 将此弧的闭合类型设置为指定值:OPEN、CHORD 或 PIE。
void setFrame(double x, double y, double w, double h) 将此 Shape 的框架矩形的位置和大小设置为指定的矩形值。

5 Java AWT Arc2D的例子

让我们看一个简单的Java AWT Arc2D类示例。

package com.yiidian;

import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.Arc2D;

public class AWTGraphicsDemo extends Frame {
       
   public AWTGraphicsDemo(){
      super("一点教程网:Java AWT Examples");
      prepareGUI();
   }

   public static void main(String[] args){
      AWTGraphicsDemo  awtGraphicsDemo = new AWTGraphicsDemo();  
      awtGraphicsDemo.setVisible(true);
   }

   private void prepareGUI(){
      setSize(400,400);
      addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }        
      }); 
   }    

   @Override
   public void paint(Graphics g) {
      Arc2D.Float arc = new Arc2D.Float(Arc2D.PIE);
      arc.setFrame(70, 200, 150, 150);
      arc.setAngleStart(0);
      arc.setAngleExtent(145);
      Graphics2D g2 = (Graphics2D) g; 
      g2.setColor(Color.gray);
      g2.draw(arc);
      g2.setColor(Color.red);
      g2.fill(arc);
      g2.setColor(Color.black);
      Font font = new Font("Serif", Font.PLAIN, 24);
      g2.setFont(font);
      g.drawString("Welcome to yiidian.com", 50, 70);
      g2.drawString("Arc2D.PIE", 100, 120); 
   }
}

输出结果为:

热门文章

优秀文章