当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


JavaFX 类 PieChart用法及代码示例


PieChart类是JavaFX的一部分。 PieChart类用于创建饼图。图表内容由饼图根据PieChart上设置的数据填充。饼图的布局默认设置为顺时针。 PieChart继承Chart类。

该类的构造函数是:

  1. PieChart():创建饼图的空实例。
  2. PieChart(ObservableList data):使用给定的数据创建饼图的实例。

常用方法:


方法 说明
getData() 返回饼图的数据
getLabelLineLength() 返回饼图的标签长度
getLabelsVisible() 指示是否绘制饼图标签
getStartAngle() 返回饼图的起始角度
isClockwise() 返回饼图是否为顺时针
setClockwise(boolean v) 将饼图方向设置为顺时针为true,则传递值
setData(ObservableList data) 设置属性数据的值。
setLabelLineLength(double v) 设置饼图的标签线长度。
setLabelsVisible(boolean v) 设置属性labelsVisible的值。
setStartAngle(double v) 设置饼图的起始角度

下面的程序将说明PieChart类的用法:

  1. Java程序使用一些指定的数据创建饼图:该程序创建一个PieChart。将创建一个PieChart.Data,并将其作为可观察的列表添加到饼图中。将在一个场景内创建PieChart,然后将其托管在舞台内。函数setTitle()用于为舞台提供标题。然后创建一个组,并附上饼图。该组将附加到场景。最后,调用show()方法以显示最终结果。
    // Java program to create a pie chart  
    // with some specified data 
    import javafx.application.Application; 
    import javafx.scene.Scene; 
    import javafx.scene.chart.PieChart; 
    import javafx.scene.layout.*; 
    import javafx.event.ActionEvent; 
    import javafx.scene.AmbientLight; 
    import javafx.scene.shape.Sphere; 
    import javafx.scene.control.*; 
    import javafx.stage.Stage; 
    import javafx.scene.Group; 
    import javafx.scene.PerspectiveCamera; 
    import javafx.scene.paint.Color; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
    import javafx.collections.FXCollections; 
       
    public class pie_chart_1 extends Application { 
       
        // launch the application 
        public void start(Stage stage) 
        { 
            // set title for the stage 
            stage.setTitle("Creating Pie Chart"); 
       
            // piechart data 
            PieChart.Data data[] = new PieChart.Data[5]; 
       
            // string and integer data 
            String status[] = {"Correct Answer", "Wrong Answer",  
                               "Compilation Error", "Runtime Error", 
                               "Others" }; 
                                  
            int values[] = {20, 30, 10, 4, 2}; 
       
            for (int i = 0; i < 5; i++) { 
                data[i] = new PieChart.Data(status[i], values[i]); 
            } 
       
            // create a pie chart 
            PieChart pie_chart = new
                    PieChart(FXCollections.observableArrayList(data)); 
       
            // create a Group 
            Group group = new Group(pie_chart); 
       
            // create a scene 
            Scene scene = new Scene(group, 500, 300); 
       
            // set the scene 
            stage.setScene(scene); 
       
            stage.show(); 
        } 
       
       
        // Main Method 
        public static void main(String args[]) 
        { 
               
            // launch the application 
            launch(args); 
        } 
    }

    输出:

  2. Java程序用一些指定的数据创建一个饼图,该饼图带有可见的标签和定义的起始角度,并按逆时针方向排序:该程序创建一个PieChart。将创建一个PieChart.Data,并将其作为可观察列表添加到饼图中。 PieChart将在场景内创建,而场景又将在场景内托管。函数setTitle()用于为舞台提供标题。然后创建一个组,并附上饼图。该组将附加到场景。最后,调用show()方法以显示最终结果。我们将使用setLabelLineLength()函数设置饼图的标签线长度,分别使用setStartAngle()和setClockwise()函数设置起始角度和顺时针方向。我们可以使用setLabelsVisible()函数使标签可见。
    // Java program to create a pie chart with 
    // some specified data, with visible labels 
    // and a defined start angle, and ordered  
    // in anticlockwise direction 
    import javafx.application.Application; 
    import javafx.scene.Scene; 
    import javafx.scene.chart.PieChart; 
    import javafx.scene.layout.*; 
    import javafx.event.ActionEvent; 
    import javafx.scene.AmbientLight; 
    import javafx.scene.shape.Sphere; 
    import javafx.scene.control.*; 
    import javafx.stage.Stage; 
    import javafx.scene.Group; 
    import javafx.scene.PerspectiveCamera; 
    import javafx.scene.paint.Color; 
    import javafx.event.ActionEvent; 
    import javafx.event.EventHandler; 
    import javafx.collections.FXCollections; 
       
    public class pie_chart_2 extends Application { 
       
        // launch the application 
        public void start(Stage stage) 
        { 
            // set title for the stage 
            stage.setTitle("Creating Pie Chart"); 
       
            // piechart data 
            PieChart.Data data[] = new PieChart.Data[5]; 
       
            // string and integer data 
            String status[] = {"Correct Answer", "Wrong Answer",  
                               "Compilation Error", "Runtime Error",  
                               "Others"}; 
                                  
            int values[] = {20, 30, 10, 4, 2}; 
       
            for (int i = 0; i < 5; i++) { 
                data[i] = new PieChart.Data(status[i], values[i]); 
            } 
       
            // create a pie chart 
            PieChart pie_chart = new
                    PieChart(FXCollections.observableArrayList(data)); 
       
            // set line length of label 
            pie_chart.setLabelLineLength(10.0f); 
       
            // make labels visible 
            pie_chart.setLabelsVisible(true); 
       
            // set start angle 
            pie_chart.setStartAngle(20.0f); 
       
            // set anticlockwise 
            pie_chart.setClockwise(false); 
       
            // create a Group 
            Group group = new Group(pie_chart); 
       
            // create a scene 
            Scene scene = new Scene(group, 500, 500); 
       
            // set the scene 
            stage.setScene(scene); 
       
            stage.show(); 
        } 
       
        // Main Method 
        public static void main(String args[]) 
        { 
               
            // launch the application 
            launch(args); 
        } 
    }

    输出:

注意:以上程序可能无法在在线IDE中运行。请使用离线编译器。

参考:https://docs.oracle.com/javase/8/javafx/api/javafx/scene/chart/PieChart.html



相关用法


注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 JavaFX | PieChart Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。