我正在使用JavaFX中的饼图,尽管它可以正确显示(链接中的左图),但是当拍摄快照时,图例会移至右侧(链接中的右图)。我该如何解决?饼形图位于窗格内部,因此可以在窗格中创建快照。我也尝试从饼图中删除动画,但是它也没有起作用。
这是快照代码:
public void saveAsPng(Pane p){
try{
WritableImage image = p.snapshot(new SnapshotParameters(),null);
File file = new File("C:\\Users\\pc\\Desktop\\tempPieChart.png");
ImageIO.write(SwingFXUtils.fromFXImage(image, null), "png", file);
}
catch (IOException ex) {
System.out.println("Error");
}
}
饼图的代码是这样的:
public void PieGraph(ArrayList<ArrayList> info, PieChart p) {
ObservableList<PieChart.Data> PieChart = FXCollections.observableArrayList();
ArrayList<String> lista = info.get(0);
ArrayList<Integer> valor = info.get(1);
for (int i = 0; i < lista.size(); i++) {
PieChart.add(new PieChart.Data(lista.get(i), valor.get(i)));}
p.setData(PieChart);
p.setAnimated(false);
p.getScene().getStylesheets().add(getClass().getResource("Pie.css").toExternalForm());}