Arc2D
介绍 (Introduction)
Arc2D类是存储由框架矩形,起始角度,角度范围(弧的长度)和闭合类型(OPEN,CHORD或PIE)定义的2D弧的所有对象的超类。
类声明
以下是java.awt.Arc2D类的声明:
public abstract class Arc2D
extends RectangularShape
字段 (Field)
以下是java.awt.geom.Arc2D类的字段:
static int CHORD - 通过从弧段的开头到弧段的末尾绘制直线段来关闭弧的闭合类型。
static int OPEN - 开放弧的闭合类型,没有连接弧段两端的路径段。
static int PIE - 通过从弧段的起点到整个椭圆的中心以及从该点到弧段的末端绘制直线段来关闭弧的闭合类型。
类构造函数
SN | 构造函数和描述 |
---|---|
1 | protected Arc2D(int type) 这是一个无法直接实例化的抽象类。 |
类方法
SN | 方法和描述 |
---|---|
1 | boolean contains(double x, double y) 确定指定的点是否在弧的边界内。 |
2 | boolean contains(double x, double y, double w, double h) 确定弧的内部是否完全包含指定的矩形。 |
3 | boolean contains(Rectangle2D r) 确定弧的内部是否完全包含指定的矩形。 |
4 | boolean containsAngle(double angle) 确定指定的角度是否在弧的角度范围内。 |
5 | boolean equals(Object obj) 确定指定的Object是否等于此Arc2D。 |
6 | abstract double getAngleExtent() 返回弧的角度范围。 |
7 | abstract double getAngleStart() 返回弧的起始角度。 |
8 | int getArcType() 返回弧的弧闭合类型:OPEN,CHORD或PIE。 |
9 | Rectangle2D getBounds2D() 返回弧的高精度框架矩形。 |
10 | Point2D getEndPoint() 返回弧的终点。 |
11 | PathIterator getPathIterator(AffineTransform at) 返回定义弧边界的迭代对象。 |
12 | Point2D getStartPoint() 返回弧的起点。 |
13 | int hashCode() 返回此Arc2D的哈希码。 |
14 | boolean intersects(double x, double y, double w, double h) 确定圆弧的内部是否与指定矩形的内部相交。 |
15 | protected abstract Rectangle2D makeBounds(double x, double y, double w, double h) 构造一个具有适当精度的Rectangle2D,以保存计算出的参数为该弧的框架矩形。 |
16 | abstract void setAngleExtent(double angExt) 将此弧的角度范围设置为指定的double值。 |
17 | void setAngles(double x1, double y1, double x2, double y2) 使用两组坐标设置此弧的起始角度和角度范围。 |
18 | void setAngles(Point2D p1, Point2D p2) 使用两个点设置此弧的起始角度和角度范围。 |
19 | abstract void setAngleStart(double angSt) 将此弧的起始角度设置为指定的double值。 |
20 | void setAngleStart(Point2D p) 将此弧的起始角度设置为指定点相对于此弧中心定义的角度。 |
21 | void setArc(Arc2D a) 将此弧设置为与指定的弧相同。 |
22 | abstract void setArc(double x, double y, double w, double h, double angSt, double angExt, int closure) 将此弧的位置,大小,角度范围和闭合类型设置为指定的double值。 |
23 | void setArc(Point2D loc, Dimension2D size, double angSt, double angExt, int closure) 将此弧的位置,大小,角度范围和闭合类型设置为指定值。 |
24 | void setArc(Rectangle2D rect, double angSt, double angExt, int closure) 将此弧的位置,大小,角度范围和闭合类型设置为指定值。 |
25 | void setArcByCenter(double x, double y, double radius, double angSt, double angExt, int closure) 将此弧的位置,边界,角度范围和闭合类型设置为指定值。 |
26 | void setArcByTangent(Point2D p1, Point2D p2, Point2D p3, double radius) 将此弧的位置,边界和角度范围设置为指定值。 |
27 | void setArcType(int type) 将此弧的闭合类型设置为指定值:OPEN,CHORD或PIE。 |
28 | void setFrame(double x, double y, double w, double h) 将此Shape的框架矩形的位置和大小设置为指定的矩形值。 |
方法继承
该类继承以下类中的方法:
java.awt.geom.RectangularShape
java.lang.Object
Arc2D示例
使用您选择的任何编辑器创建以下java程序,例如D:/ 》 AWT 》 com 》 iowiki 》 gui 》
AWTGraphicsDemo.javapackage com.iowiki.gui;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
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 IoWiki", 50, 70);
g2.drawString("Arc2D.PIE", 100, 120);
}
}
使用命令提示符编译程序。 转到D:/ 》 AWT并键入以下命令。
D:\AWT>javac com\iowiki\gui\AwtGraphicsDemo.java
如果没有错误,那意味着编译成功。 使用以下命令运行程序。
D:\AWT>java com.iowiki.gui.AwtGraphicsDemo
验证以下输出