Example usage for javafx.scene.web WebEngine getDocument

List of usage examples for javafx.scene.web WebEngine getDocument

Introduction

In this page you can find the example usage for javafx.scene.web WebEngine getDocument.

Prototype

public final Document getDocument() 

Source Link

Usage

From source file:org.pdfsam.ui.news.NewsStage.java

void loadAndShow(Consumer<Boolean> onSuccess) {
    WebEngine webEngine = browser.getEngine();
    webEngine.getLoadWorker().stateProperty().addListener((o, oldVal, newVal) -> {
        if (newVal == State.SUCCEEDED) {
            wrapHrefToOpenNative(webEngine.getDocument());
            onLoaded.andThen(onSuccess).accept(isShowing());
        }//w ww .  ja v a 2s .c o  m
    });
    webEngine.load(newsUrl);
}

From source file:de.micromata.mgc.javafx.logging.LoggingController.java

@Override
public void initialize(URL location, ResourceBundle resources) {

    WebEngine engine = htmlView.getEngine();
    engine.getLoadWorker().stateProperty().addListener((ov, oldState, newState) -> {
        if (newState == javafx.concurrent.Worker.State.SUCCEEDED) {
            Document doc = engine.getDocument();
            //        if (guiWriteBuffer.isEmpty() == false) {
            //          List<LogWriteEntry> copy = new ArrayList<>(guiWriteBuffer);
            //          guiWriteBuffer.clear();
            //          addToGuiInGui(copy);
            //        }
        }//from  w w  w.ja va  2 s.  c  o m
    });
    engine.setJavaScriptEnabled(true);

    StringBuilder html = new StringBuilder();

    String init = "  var logCounter = 0; \r\n" + "var loggingAdapter;\n"
            + "function ALogCallback(callback) { \n" + " this.callback = callback;\n"
            + " this.doCallback = function(entries) {this.callback(entries); }\n" + "};"
            + "function LogConsoleBackend(logViewer) {\r\n" + "  this.supportsPoll = false;\r\n"
            + "  this.supportsSearch = false;\r\n" + "  this.init = function(logViewer) {\r\n"
            + "  this.logViewer = logViewer;\n" + "   loggingAdapter.init(this);\n" + "  }\r\n"
            + "  this.logPoll = function(lastTime, callback) {\r\n"
            + "    loggingAdapter.logPoll(lastTime, new ALogCallback(callback));\r\n" + "  }\r\n"
            + "  this.getLoggingConfiguration = function() {\n"
            + "    return loggingAdapter.getLoggingConfiguration();\n" + "  };"
            + "  this.logSelect = function(logFormData, callback) {\r\n"
            + "    //console.debug('LogConsoleBackend.logSelect');\n"
            + "    loggingAdapter.logSelect(logFormData, new ALogCallback(callback));\n" + "  };\n"
            + "  this.logSelectAttributes = function(logId, callback) {\n"
            + "    loggingAdapter.logSelectAttributes(logId, new ALogCallback(callback));\n" + "  }\n" + "}"
            + "  function logProvider() {\r\n" + "    var item = {\r\n"
            + "      logTime : '2006-01-01 12:12',\r\n" + "      logLevel : 'Note',\r\n"
            + "      logMessage : 'Hello ' + ++logCounter,\r\n" + "      logAttributes : [ {\r\n"
            + "        typeName : \"AKey\",\r\n" + "        value : 'A value'\r\n" + "      }, {\r\n"
            + "        typeName : \"BKey\",\r\n" + "        value : 'B value'\r\n" + "      } ]\r\n"
            + "    };\r\n" + "    return [ item ];\r\n" + "  }\r\n" +

            "var logViewer = new GLogViewer({\r\n" + "    logListId : 'glogentries',\r\n"
            + "    formId : 'glogform',\r\n" + "    maxItems: 100,\r\n" + "    logPollTimeout: 1000,\r\n"
            + "    enableEmbeddedDebugger: false\n" + "\r\n" + "  });\n" + "window.logViewer = logViewer;\n";

    html.append("<html><head>").append(getHtmlHeader())

            .append("\n<script  type=\"text/javascript\">\n").append(init).append("\n</script>\n")
            .append("</head>").append("<body>\r\n");
    html.append(LogHtmlWindowServlet.getGLogHtmlForm());
    html.append("</body>");

    engine.loadContent(html.toString());
    engine.getLoadWorker().stateProperty().addListener((observable, oldValue, newValue) -> {
        try {

            JSObject window = (JSObject) engine.executeScript("window");
            window.setMember("loggingAdapter", loggingAdapter);

            engine.executeScript("console.debug = function(message){ loggingAdapter.jsdebug(message); };\n"
                    + "console.warn = function(message){ loggingAdapter.jswarn(message); };\n"
                    + "console.error = function(message){ loggingAdapter.jserror(message); }; console.debug('console redirect initialized');\n");
            //        JSObject logViewer = (JSObject) engine.executeScript("logViewer");
            //        logViewer.call("setBackend", loggingAdapter);
            engine.executeScript("logViewer.setBackend(new LogConsoleBackend());");
        } catch (RuntimeException ex) {
            ex.printStackTrace();
        }

    });
    INSTANCE = this;
    LoggingEventListenerRegistryService listenerRegisterService = LoggingServiceManager.get()
            .getLoggingEventListenerRegistryService();

    listenerRegisterService.registerListener(FxLogconsoleLogWriteEntryEventListener.class);
    listenerRegisterService.registerListener(FxLogconsoleLogRegisteredCategoryChangedEventListener.class);
    listenerRegisterService.registerListener(FxLogconsoleLogRegisteredLogAttributesChangedEventListener.class);
}

From source file:Main.java

@Override
public void start(Stage primaryStage) {
    WebEngine webEngine = new WebEngine();
    webEngine.getLoadWorker().stateProperty().addListener((obs, oldValue, newValue) -> {
        System.out.println(newValue);
        if (newValue == State.SUCCEEDED) {
            System.out.println("finished loading");
            try {
                TransformerFactory transformerFactory = TransformerFactory.newInstance();
                Transformer transformer = transformerFactory.newTransformer();
                StringWriter stringWriter = new StringWriter();
                transformer.transform(new DOMSource(webEngine.getDocument()), new StreamResult(stringWriter));
                String xml = stringWriter.getBuffer().toString();
                System.out.println(xml);
            } catch (Exception e) {
                e.printStackTrace();/*  ww  w  .j  a v  a2s . c o m*/
            }

        }
    }); // addListener()

    // begin loading...
    webEngine.load("http://www.java2s.com");

    Group root = new Group();
    Scene scene = new Scene(root, 300, 250);

    primaryStage.setScene(scene);
    primaryStage.show();
}