代码中有注释,直接上代码
package com.fan;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Arc;
import javafx.scene.shape.ArcType;
import javafx.scene.shape.Circle;
public class FanPane1 extends Pane {
//12个扇形
private Arc arc[] = new Arc[12];
//设置三个扇形的初始角度
private double startAngle1 = 30;
private double startAngle2 = 30;
private double startAngle3 = 30;
//风扇转动是每次增长的度数
private double increment = 5;
//3个圆
private Circle[] circles = new Circle[3];
public FanPane1(){
for(int i = 100,j=0; i<=600; i+=200,j++){
//设定3个圆的圆心
circles[j] = new Circle();
circles[j].setCenterX(i);
circles[j].setCenterY(200/2);
circles[j].setRadius(70);
//边缘
circles[j].setStroke(Color.BLUE);
//填充颜色
circles[j].setFill(Color.WHITE);
//添加到面板中
getChildren().add(circles[j]);
}
//为每个圆创建风扇
for(int m = 0; m<12; m++){
arc[m] = new Arc();
//一个圆中有四个扇形并绑定圆心
arc[m].centerXProperty().bind(circles[m/4].centerXProperty());
arc[m].centerYProperty().bind(circles[m/4].centerYProperty());