如何在逆时针方向设置JavaFX PieChart的切片?

改变切片的方向

PieChart的第一个切片开始的角度称为开始角度,您可以使用setStartAngle()方法设置此值(默认为0)。

饼图类提供被称为属性(布尔值)顺时针指定当前饼图的切片是否在从开始角度沿顺时针方向(-顺时针,-反的顺时针方向)。默认情况下,此属性的值为true。您可以使用setClockWise()方法更改它。

例如,如果您想沿逆时针方向设置PieChart的切片,则需要调用setClockWise()方法,并绕过false作为参数。

示例

import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.chart.PieChart;
import javafx.scene.layout.StackPane;
public class PieChart_AntiClockWise extends Application {
   @Override
   public void start(Stage stage) {
      //创建饼图
      PieChart pieChart = new PieChart();
      //设定数据
      ObservableList data = FXCollections.observableArrayList(
         new PieChart.Data("Work", 10),
         new PieChart.Data("Chores", 2),
         new PieChart.Data("Sleep", 8),
         new PieChart.Data("Others", 4)
      );
      pieChart.setData(data);
      //逆时针设置切片
      pieChart.setClockwise(false);
      //创建一个堆栈窗格来保存饼图
      StackPane pane = new StackPane(pieChart);
      pane.setStyle("-fx-background-color: BEIGE");
      //设置场景
      Scene scene = new Scene(pane, 595, 300);
      stage.setTitle("Pie Chart");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

输出结果