一个JavaFX应用程序
一、程序清单1.1
package javafx1;
import javafx.application.Application;
import javafx.scene.canvas.Canvas;
import javafx.scene.Scene;
import javafx.scene.Group;
import javafx.stage.Stage;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.shape.ArcType;
public class HappyFace extends Application
{
public static void main(String[] args)
{
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception
{
Group root = new Group();
Scene scene = new Scene(root);//设置场景
Canvas canvas = new Canvas(400, 300);//设置画布
GraphicsContext gc = canvas.getGraphicsContext2D();
gc.strokeOval(100, 50, 200, 200);//圆
gc.fillOval(155, 100, 10, 20);//椭圆
gc.fillOval(230, 100, 10, 20);//椭圆
gc.strokeArc(150, 160, 100, 50, 180, 180, ArcType.OPEN);//弧
root.getChildren().add(canvas);
primaryStage.setTitle("HappyFace in JavaFX");//设置窗口标题
primaryStage.setScene(scene);
primaryStage.show();
}
}
运行结果
二、绘制圆或椭圆
1.strokeOval方法(无填充)
public void strokeOval(double x, double y, double w, double h)
注:
- x,y为包围椭圆或圆的矩形左上角坐标
- w,h为矩形的宽度和高度
2.fillOval方法(有填充)
public void fillOval(double x, double y, double w, double h)
注:同上
三、绘制弧
strokeArc方法
public void strokeArc(double x, double y, double w, double h, double startAngle, double arcAngle, ArcType closure)
注:
- x,y为包围椭圆或圆的矩形左上角坐标
- w,h为矩形的宽度和高度
- 椭圆焦点弦最右端为0°,逆时针方向为正角度,从startAngle开始,沿椭圆移动arcAngle°,绘制成弧
- ArcType可以是ArcType.OPEN(弧的两个端点不连接)、ArcType.CHORD(线段连接弧的起点和终点)、ArcType.ROUND(线段连接弧的起点和椭圆圆心,再连接弧的终点,使其封闭)