This is my code:
public class SceneToImageAndWrite extends Application { public static void main(String[] args) { launch(args); } @Override public void start(Stage stage) throws Exception { stage.setTitle("Primary Stage"); final CategoryAxis xAxis = new CategoryAxis(); xAxis.setLabel("Animals"); final NumberAxis yAxis = new NumberAxis(); yAxis.setLabel("Number"); final LineChart<String, Number> lineChart = new LineChart<String, Number>(xAxis, yAxis); lineChart.setTitle("Line Chart"); XYChart.Series<String, Number> series1 = new Series<String, Number>(); series1.setName("Series"); LinkedHashMap<String, Number> map = new LinkedHashMap<>(); map.put("dog", 12); map.put("cat", 3); map.put("bear", 8); map.put("tiger", 20); for (Entry<String, Number> entry : map.entrySet()) { series1.getData().add(new XYChart.Data<String, Number>(entry.getKey(), entry.getValue())); } lineChart.getData().add(series1); Scene scene = new Scene(lineChart); stage.setScene(scene); stage.show(); WritableImage snapShot = scene.snapshot(null); ImageIO.write(SwingFXUtils.fromFXImage(snapShot, null), "png", new File("test.png")); } }
The frame is excellent, but the saved image does not have all the chart data that it should have. I want to completely save the Chart-Image, what's wrong? ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
javafx charts
user2023865
source share