|
|
@@ -0,0 +1,49 @@
|
|
|
+package com.mes.component;
|
|
|
+
|
|
|
+import com.mes.netty.ProtocolParam;
|
|
|
+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 org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
+public class MesWebView extends JFXPanel {
|
|
|
+
|
|
|
+ public static final Logger log = LoggerFactory.getLogger(MesWebView.class);
|
|
|
+
|
|
|
+ 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();
|
|
|
+ log.info(url);
|
|
|
+ engine = webView.getEngine();
|
|
|
+ CallFromJs bridge = new CallFromJs();
|
|
|
+ engine.getLoadWorker().stateProperty().addListener(
|
|
|
+ (ObservableValue<? extends Worker.State> 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();
|
|
|
+ }
|
|
|
+}
|