我使用代码(没有SceneBuilder)在JavaFx中生成了一个BarChart,它无法在NumberAxis上显示双值。我尝试使用int,long和short值并且它工作正常,但由于某种原因我无法将其配置为使用实数。
这是我的代码:
private BarChart<String, Number> createBarChartMedii(Map<Student, Double> studentAndAverageGrades) {
CategoryAxis xAxis = new CategoryAxis();
xAxis.setLabel("Student");
NumberAxis yAxis = new NumberAxis();
yAxis.setLabel("Average");
BarChart<String, Number> barChart = new BarChart<>(xAxis, yAxis);
barChart.setTitle("Grades Average");
XYChart.Series<String, Number> series = new XYChart.Series<>();
studentAndAverageGrades.forEach((student, average) -> {
series.getData().add(new XYChart.Data<>(student.getNume(),average));
});
barChart.getData().addAll(series);
return barChart;
}
这是输出: click for image
如果我修改了将数据添加到系列中的行(在foreach中的lambda函数内),使用这一行:
series.getData().add(new XYChart.Data<>(student.getNume(),average.intValue()));
它填充了BarChart