📅  最后修改于: 2023-12-03 15:31:36.264000             🧑  作者: Mango
JavaFX 是一个用于构建富应用程序的图形框架,它提供了用于创建图形用户界面和媒体处理等功能的集成 API。其中,用于展示数据的图表是开发者经常使用的功能之一,而柱状图是其中一个重要的类型。在本文中,我们将介绍如何使用 JavaFX 构建柱状图。
在开始之前,我们要确保安装了 Java SE Development Kit 和 JavaFX SDK。另外,为了能够正确显示中文,需要设置 JavaFX 应用程序的默认字符集为 UTF-8,可以在程序入口处添加以下代码:
System.setProperty("file.encoding", "UTF-8");
首先,我们需要创建一个 AnchorPane 作为容器来放置图表。然后,构建一个 CategoryAxis 作为横坐标,在其中添加多个类别(比如月份)。接下来,构建一个 NumberAxis 作为纵坐标,设置取值范围,并设置标签名称。最后,构建一个 BarChart,把横坐标和纵坐标对象作为参数传入,然后将需要展示的数据添加到 BarChart 中即可。最终代码如下:
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
AnchorPane root = new AnchorPane();
CategoryAxis xAxis = new CategoryAxis();
xAxis.setCategories(FXCollections.observableArrayList(
"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"
));
NumberAxis yAxis = new NumberAxis();
yAxis.setLabel("销售额(万元)");
yAxis.setTickUnit(10);
yAxis.setAutoRanging(false);
yAxis.setLowerBound(0);
yAxis.setUpperBound(100);
XYChart.Series<String, Number> series = new XYChart.Series<>();
series.setName("2019 年");
series.getData().add(new XYChart.Data<>("一月", 10));
series.getData().add(new XYChart.Data<>("二月", 20));
series.getData().add(new XYChart.Data<>("三月", 30));
series.getData().add(new XYChart.Data<>("四月", 40));
series.getData().add(new XYChart.Data<>("五月", 50));
series.getData().add(new XYChart.Data<>("六月", 60));
series.getData().add(new XYChart.Data<>("七月", 70));
series.getData().add(new XYChart.Data<>("八月", 80));
series.getData().add(new XYChart.Data<>("九月", 90));
series.getData().add(new XYChart.Data<>("十月", 80));
series.getData().add(new XYChart.Data<>("十一月", 70));
series.getData().add(new XYChart.Data<>("十二月", 60));
BarChart<String, Number> barChart = new BarChart<>(xAxis, yAxis);
barChart.setTitle("XX 公司 2019 年销售情况");
barChart.getData().add(series);
root.getChildren().add(barChart);
Scene scene = new Scene(root, 800, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
System.setProperty("file.encoding", "UTF-8");
Application.launch(args);
}
}
最终展示效果如下所示:
JavaFX 提供了非常方便的 API 来构建各种类型的图表,其中柱状图是非常常用的一种。通过简单的代码即可构建出一个优秀的柱状图来展示数据,帮助企业更好的了解业务数据情况,从而作出更加明智的决策。