/ / JavaFX Quiero guardar Chart-Image completamente - charts, javafx

JavaFX Quiero guardar Chart-Image completamente - charts, javafx

Este es mi código:

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");

/** xAxis & yAxis Data */
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"));
}
}

El marco es excelente, pero la imagen guardada no tiene todos los datos de gráficos que debería tener. Quiero guardar Chart-Image completamente, ¿qué está mal? ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

Respuestas

19 para la respuesta № 1

Apagar animación en su carta

Desde el instantánea javadoc

Al tomar una instantánea de una escena que está siendoAnimada, ya sea explícitamente por la aplicación o implícitamente (como la animación de gráficos), la instantánea se procesará en función del estado del gráfico de la escena en el momento en que se toma la instantánea y no reflejará ningún cambio posterior en la animación.