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);
}
}
输出结果为:
热门文章
优秀文章