生成饼图的步骤
生成一个 PieChart 在 JavaFX 中,请按照以下步骤操作。
第 1 步:创建一个类
创建一个Java类并继承 Application 包的类别 javafx.application 并实施 start() 这个类的方法如下。
public class ClassName extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
}
}
第 2 步:准备 ObservableList 对象
准备一个接口对象 ObservableList 对象通过传递饼图的数据如下所示 -
ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList(
new PieChart.Data("Iphone 5S", 13),
new PieChart.Data("Samsung Grand", 25),
new PieChart.Data("MOTO G", 10),
new PieChart.Data("Nokia Lumia", 22));
第 3 步:创建饼图对象
创建一个 PieChart 通过通过 ObservableList 对象如下图。
//Creating a Pie chart
PieChart pieChart = new PieChart(pieChartData);
第 4 步:设置饼图的标题
使用 setTitle() 类的方法 PieChart. 这个属于包javafx.scene.chart −
//Setting the title of the Pie chart
pieChart.setTitle("Mobile Sales");
第 5 步:顺时针设置切片
顺时针设置饼图的切片。这是通过将布尔值 true 传递给setClockwise() 类的方法 PieChart. 这个属于包javafx.scene.chart −
//setting the direction to arrange the data
pieChart.setClockwise(true);
步骤 6:设置标签线的长度
使用 setLabelLineLength() 类的方法 PieChart 属于包 javafx.scene.chart,如下 -
//Setting the length of the label line
pieChart.setLabelLineLength(50);
第 7 步:设置标签可见
通过传递布尔值将饼图的标签设置为可见 true 到方法 setLabelsVisible() 班级的 PieChart. 这个属于包javafx.scene.chart −
//Setting the labels of the pie chart visible
pieChart.setLabelsVisible(true);
第八步:设置饼图的起始角度
使用 setStartAngle() 类的方法 PieChart. 这个属于包javafx.scene.chart −
//Setting the start angle of the pie chart
pieChart.setStartAngle(180);
步骤 9:创建组对象
在里面 start()方法,通过实例化名为 Group 的类来创建一个组对象。这个属于包javafx.scene.
将在上一步中创建的 PieChart(节点)对象作为参数传递给 Group 类的构造函数。这样做是为了将其添加到组中,如下所示 -
Group root = new Group(piechart);
步骤 10:创建场景对象
通过实例化名为的类来创建场景 Scene,属于包 javafx.scene. 向这个类传递 Group 对象 (root) 在上一步中创建。
除了根对象,您还可以传递两个表示屏幕高度和宽度的双参数,以及如下所示的 Group 类的对象。
Scene scene = new Scene(group ,600, 300);
第 11 步:设置舞台的标题
您可以使用 setTitle() 的方法 Stage班级。这primaryStage 是一个Stage Object,作为参数传递给场景类的start方法。
使用 primaryStage 对象,将场景的标题设置为 Sample Application 如下。
primaryStage.setTitle("Sample Application");
第 12 步:将场景添加到舞台
您可以使用方法将 Scene 对象添加到舞台 setScene() 类名为 Stage. 使用此方法添加前面步骤中准备的 Scene 对象,如下所示。
primaryStage.setScene(scene);
第 13 步:显示舞台内容
使用名为的方法显示场景的内容 show() 的 Stage 类如下。
第 14 步:启动应用程序
通过调用静态方法启动 JavaFX 应用程序 launch() 的 Application 类从主要方法如下。
public static void main(String args[]){
launch(args);
}
例子
下表在饼图的帮助下描述了移动销售。下表列出了不同的移动品牌及其销售额(每天的单位)。
序号 |
移动品牌 |
销售额(单位/天) |
1 |
IPhone 5S |
20 |
2 |
三星大酒店 |
20 |
3 |
摩托 |
40 |
4 |
诺基亚 Lumia |
10 |
以下是生成饼图的 Java 程序,使用 JavaFX 描述上述数据。将此代码保存在名称为的文件中PieChartExample.java.
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.stage.Stage;
import javafx.scene.chart.PieChart;
public class PieChartExample extends Application {
@Override
public void start(Stage stage) {
//Preparing ObservbleList object
ObservableList<PieChart.Data> pieChartData = FXCollections.observableArrayList(
new PieChart.Data("Iphone 5S", 13),
new PieChart.Data("Samsung Grand", 25),
new PieChart.Data("MOTO G", 10),
new PieChart.Data("Nokia Lumia", 22));
//Creating a Pie chart
PieChart pieChart = new PieChart(pieChartData);
//Setting the title of the Pie chart
pieChart.setTitle("Mobile Sales");
//setting the direction to arrange the data
pieChart.setClockwise(true);
//Setting the length of the label line
pieChart.setLabelLineLength(50);
//Setting the labels of the pie chart visible
pieChart.setLabelsVisible(true);
//Setting the start angle of the pie chart
pieChart.setStartAngle(180);
//Creating a Group object
Group root = new Group(pieChart);
//Creating a scene object
Scene scene = new Scene(root, 600, 400);
//Setting title to the Stage
stage.setTitle("Pie chart");
//Adding scene to the stage
stage.setScene(scene);
//Displaying the contents of the stage
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用以下命令从命令提示符编译并执行保存的 java 文件。
javac PieChartExample.java
java PieChartExample
执行时,上述程序会生成一个 JavaFX 窗口,显示饼图,如下所示。