package com.mes.component; import javafx.application.Platform; import javafx.beans.value.ObservableValue; import javafx.concurrent.Worker; import javafx.embed.swing.JFXPanel; import javafx.scene.Scene; import javafx.scene.web.WebEngine; import javafx.scene.web.WebView; import netscape.javascript.JSObject; import java.util.Date; public class MesWebView extends JFXPanel { public static WebEngine engine = null; public MesWebView(String url){ Platform.runLater(() -> { WebView webView = new WebView(); setScene(new Scene(webView)); Date date = new Date(); // String url = "http://"+mes_server_ip+":8980/js/a/mes/mesQuality/check?__sid="+sessionid+"&oprno="+mes_gw+"&t="+date.getTime(); System.out.print(url); engine = webView.getEngine(); CallFromJs bridge = new CallFromJs(); engine.getLoadWorker().stateProperty().addListener( (ObservableValue ov, Worker.State oldState, Worker.State newState) -> { if (newState == Worker.State.SUCCEEDED) { JSObject window = (JSObject) engine.executeScript("window"); window.setMember("apps", bridge); window.setMember("sout", System.out); } } ); engine.load(url); }); } public void reloadWeb(){ engine.reload(); } }