如何使用JavaFx在Springboot中生成动态图表图像 问题

如何使用JavaFx在Springboot中生成动态图表图像 问题,java,spring-boot,javafx,Java,Spring Boot,Javafx,基于查询参数显示动态图表图像 问题: 如何正确使用JavaFX在Web服务(可能是Springboot应用程序)中生成图表图像 应用 我接着创建了一个自定义应用程序,它扩展了javafx.Application.Application 我的控制器 @ResponseBody @RequestMapping(value=“/photo2”,method=RequestMethod.GET,products=MediaType.IMAGE\u PNG\u value) 公共字节[]testphoto

基于查询参数显示动态图表图像

问题: 如何正确使用JavaFX在Web服务(可能是Springboot应用程序)中生成图表图像

应用 我接着创建了一个自定义应用程序,它扩展了javafx.Application.Application

我的控制器
@ResponseBody
@RequestMapping(value=“/photo2”,method=RequestMethod.GET,products=MediaType.IMAGE\u PNG\u value)
公共字节[]testphoto()引发IOException、InterruptedException{
字符串奥地利=“奥地利”;
字符串巴西=“巴西”;
String france=“france”;
字符串意大利=“意大利”;
字符串usa=“usa”;
CategoryAxis xAxis=新CategoryAxis();
NumberAxis yAxis=新的NumberAxis();
堆叠条形图=
新堆叠条形图(xAxis、yAxis);
XYChart.系列系列1=
新的XYChart.Series();
XYChart.系列2=
新的XYChart.Series();
XYChart.系列3=
新的XYChart.Series();
//阶段。设置标题(“条形图样本”);
sbc.设置标题(“国家总结”);
xAxis.setLabel(“国家”);
xAxis.setCategories(FXCollections.observableArrayList(
asList(奥地利、巴西、法国、意大利、美国);
yAxis.setLabel(“值”);
系列1.集合名称(“2003”);
series1.getData().add(新的XYChart.Data(奥地利,25601.34));
series1.getData().add(新的XYChart.Data(巴西,20148.82));
series1.getData().add(新的XYChart.Data(法国,10000));
series1.getData().add(新的XYChart.Data(意大利,35407.15));
series1.getData().add(新的XYChart.Data(美国,12000));
序列2.集合名称(“2004”);
series2.getData().add(新的XYChart.Data(奥地利,57401.85));
series2.getData().add(新的XYChart.Data(巴西,41941.19));
series2.getData().add(新的XYChart.Data(法国,45263.37));
series2.getData().add(新的XYChart.Data(意大利,117320.16));
series2.getData().add(新的XYChart.Data(美国,14845.27));
系列3.集合名称(“2005”);
series3.getData().add(新的XYChart.Data(奥地利,45000.65));
series3.getData().add(新的XYChart.Data(巴西,44835.76));
series3.getData().add(新的XYChart.Data(法国,18722.18));
series3.getData().add(新的XYChart.Data(意大利,17557.31));
series3.getData().add(新的XYChart.Data(美国,92633.68));
sbc.getData().addAll(系列1、系列2、系列3);
场景=新场景(sbc,800600);
最终可写映像[]快照=新的可写映像[1];
Platform.runLater(()->{
/*
*此行引发异常,并显示以下消息
*(如果不在平台内,请稍后运行):
*“不在FX应用程序线程上”
*/
快照[0]=场景快照(空);
});
//这是糟糕的代码,如何解决它?
睡眠(3000);
ByteArrayOutputStream输出=新建ByteArrayOutputStream();
write(SwingFXUtils.fromFXImage(快照[0],null),“png”,输出);
返回output.toByteArray();
}

您找到解决方案了吗?@PSM否,同时阅读以下内容:@Ravuteja谢谢。现在我使用的是JFree图表,而不是javaFx