javafx snapshot without showing application or Scene


Hi i'm using JavaFx WebView to create Screenshot of HTML pages and it works fine but i wanted to know is it possible to do this without launching the application in Graphical Windows!! I mean aren't there any more lightweight method to get the screenshot then this:

public class WebViewSample extends Application {
    private Scene scene;

    public void start(Stage stage) {
        // create scene
        scene = new Scene(new Browser(snapshot), 750, 500, Color.web("#666970"));

//        show stage;
    WritableImage snapshot;
    public static void main(String[] args) {
class Browser extends Region {

    final ImageView selectedImage = new ImageView();
    final WebView browser = new WebView();
    final WebEngine webEngine = browser.getEngine();
    private final  WritableImage snapshotImage;

    public Browser(WritableImage snapshot) {
        this.snapshotImage= snapshot;
        // process page loading
                new ChangeListener<State>() {
                    public void changed(ObservableValue<? extends State> ov,
                                        State oldState, State newState) {
                        if (newState == State.SUCCEEDED) {
                            WritableImage newSnapshot = browser.snapshot(null, snapshotImage);
                            File file = new File("test2.png");
                            RenderedImage renderedImage = SwingFXUtils.fromFXImage(newSnapshot, null);
                            try {
                                ImageIO.write(renderedImage, "png", file);
                            } catch (IOException e1) {

        // load the home page        

        //add components

3/29/2014 11:03:09 AM

Accepted Answer

For JavaFX 2.2 and below, there's not functionality of the kind.

Headless JavaFX applications are currently not possible, and a main JavaFX thread is mandatory.

The best you can do is read upon several workarounds for achieving this.

Related StackOverflow questions:

  • JavaFX for server-side image generation
  • Generating image at server side using Java FX
  • JavaFx in headless mode
  • How to test JavaFX 2 in a headless environment?

  • 6
    5/23/2017 12:17:58 PM

    Licensed under: CC-BY-SA with attribution
    Not affiliated with: Stack Overflow