QuadCurve2D
介绍 (Introduction)
QuadCurve2D类表示(x,y)坐标空间中的二次参数曲线段。
类声明
以下是java.awt.geom.QuadCurve2D类的声明:
public abstract class QuadCurve2D
extends Object
implements Shape, Cloneable
类构造函数
SN | 构造函数和描述 |
---|---|
1 | protected QuadCurve2D() () 这是一个无法直接实例化的抽象类。 |
类方法
SN | 方法和描述 |
---|---|
1 | Object clone() 创建与此对象具有相同类并具有相同内容的新对象。 |
2 | boolean contains(double x, double y) 测试指定的坐标是否在Shape的边界内。 |
3 | boolean contains(double x, double y, double w, double h) 测试Shape的内部是否完全包含指定的矩形区域。 |
4 | boolean contains(Point2D p) 测试指定的Point2D是否在Shape的边界内。 |
5 | boolean contains(Rectangle2D r) 测试Shape的内部是否完全包含指定的Rectangle2D。 |
6 | Rectangle getBounds() 返回完全包含Shape的整数Rectangle。 |
7 | abstract Point2D getCtrlPt() 返回控制点。 |
8 | abstract double getCtrlX() 以double精度返回控制点的X坐标。 |
9 | abstract double getCtrlY() 以double精度返回控制点的Y坐标。 |
10 | doublegetFlatness() 返回此QuadCurve2D的平坦度或控制点与连接端点的线的最大距离。 |
11 | static double getFlatness(double[] coords, int offset) 返回控制点与连接端点的直线的平面度或最大距离,由指定索引处指示的数组中存储的控制点指定的二次曲线。 |
12 | static double getFlatness(double x1, double y1, double ctrlx, double ctrly, double x2, double y2) 返回控制点与连接端点的直线的平面度或最大距离,由指示的控制点指定的二次曲线。 |
13 | double getFlatnessSq() 返回此QuadCurve2D的平坦度的平方或控制点与连接端点的线的最大距离。 |
14 | static double getFlatnessSq(double[] coords, int offset) 返回由指定索引处的指示数组中存储的控制点指定的二次曲线的平坦度的平方或控制点与连接端点的线的最大距离。 |
15 | static double getFlatnessSq(double x1, double y1, double ctrlx, double ctrly, double x2, double y2) 返回由指示的控制点指定的二次曲线的平坦度的平方,或控制点与连接端点的直线的最大距离。 |
16 | abstract Point2D getP1() 返回起点。 |
17 | abstract Point2D getP2() 返回结束点。 |
18 | PathIterator getPathIterator(AffineTransform at) 返回一个迭代对象,该对象定义此QuadCurve2D形状的边界。 |
19 | PathIterator getPathIterator(AffineTransform at, double flatness) 返回一个迭代对象,该对象定义此QuadCurve2D的展平形状的边界。 |
20 | abstract double getX1() 以精度为单位返回起始点的X坐标。 |
21 | abstract double getX2() 以double精度返回结束点的X坐标。 |
22 | abstract double getY1() 以double精度返回起始点的Y坐标。 |
23 | abstract double getY2() 以double精度返回结束点的Y坐标。 |
24 | boolean intersects(double x, double y, double w, double h) 测试Shape的内部是否与指定矩形区域的内部相交。 |
25 | boolean intersects(Rectangle2D r) 测试Shape的内部是否与指定Rectangle2D的内部相交。 |
26 | void setCurve(double[] coords, int offset) 将此QuadCurve2D的端点和控制点的位置设置为指定数组中指定偏移处的双坐标。 |
27 | abstract void setCurve(double x1, double y1, double ctrlx, double ctrly, double x2, double y2) 将此曲线的终点和控制点的位置设置为指定的双坐标。 |
28 | void setCurve(Point2D[] pts, int offset) 将此QuadCurve2D的端点和控制点的位置设置为指定数组中指定偏移处的Point2D对象的坐标。 |
29 | void setCurve(Point2D p1, Point2D cp, Point2D p2) 将此QuadCurve2D的终点和控制点的位置设置为指定的Point2D坐标。 |
30 | void setCurve(QuadCurve2D c) 将此QuadCurve2D的终点和控制点的位置设置为与指定的QuadCurve2D中的相同。 |
31 | static int solveQuadratic(double[] eqn) 求解其系数在eqn数组中的二次方,并将非复数根返回到同一个数组中,返回根数。 |
32 | static int solveQuadratic(double[] eqn, double[] res) 求解其系数在eqn数组中的二次方,并将非复数根放入res数组中,返回根数。 |
33 | static void subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff) 将索引srcoff到srcoff + 5中存储在src数组中的坐标指定的二次曲线细分,并将得到的两条细分曲线存储到相应索引处的两个结果数组中。 |
34 | void subdivide(QuadCurve2D left, QuadCurve2D right) 细分此QuadCurve2D并将得到的两条细分曲线存储到左右曲线参数中。 |
35 | static void subdivide(QuadCurve2D src, QuadCurve2D left, QuadCurve2D right) 细分src参数指定的二次曲线,并将得到的两条细分曲线存储到左右曲线参数中。 |
方法继承
该类继承以下类中的方法:
java.lang.Object
QuadCurve2D示例
使用您选择的任何编辑器创建以下java程序,例如D:/ 》 AWT 》 com 》 iowiki 》 gui 》
AWTGraphicsDemopackage 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) {
QuadCurve2D shape = new QuadCurve2D.Double();
shape.setCurve(250D,250D,100D,100D,200D,150D);
Graphics2D g2 = (Graphics2D) g;
g2.draw (shape);
Font font = new Font("Serif", Font.PLAIN, 24);
g2.setFont(font);
g.drawString("Welcome to IoWiki", 50, 70);
g2.drawString("QuadCurve2D.Curve", 100, 120);
}
}
使用命令提示符编译程序。 转到D:/ 》 AWT并键入以下命令。
D:\AWT>javac com\iowiki\gui\AWTGraphicsDemo.java
如果没有错误,那意味着编译成功。 使用以下命令运行程序。
D:\AWT>java com.iowiki.gui.AWTGraphicsDemo
验证以下输出