8 changed files with 21 additions and 119 deletions
@ -1,36 +0,0 @@ |
|||||||
package com.fr.design.extra; |
|
||||||
|
|
||||||
import javafx.scene.web.WebEngine; |
|
||||||
|
|
||||||
/** |
|
||||||
* Created by vito on 2016/9/28. |
|
||||||
*/ |
|
||||||
public class ReuseWebBridge { |
|
||||||
public static ReuseWebBridge helper; |
|
||||||
private WebEngine webEngine; |
|
||||||
|
|
||||||
public static ReuseWebBridge getHelper() { |
|
||||||
if (helper != null) { |
|
||||||
return helper; |
|
||||||
} |
|
||||||
synchronized (ReuseWebBridge.class) { |
|
||||||
if (helper == null) { |
|
||||||
helper = new ReuseWebBridge(); |
|
||||||
} |
|
||||||
return helper; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
public static ReuseWebBridge getHelper(WebEngine webEngine) { |
|
||||||
getHelper(); |
|
||||||
helper.setEngine(webEngine); |
|
||||||
return helper; |
|
||||||
} |
|
||||||
|
|
||||||
private ReuseWebBridge() { |
|
||||||
} |
|
||||||
|
|
||||||
public void setEngine(WebEngine webEngine) { |
|
||||||
this.webEngine = webEngine; |
|
||||||
} |
|
||||||
} |
|
@ -1,54 +0,0 @@ |
|||||||
package com.fr.design.extra; |
|
||||||
|
|
||||||
import javafx.application.Platform; |
|
||||||
import javafx.embed.swing.JFXPanel; |
|
||||||
import javafx.event.EventHandler; |
|
||||||
import javafx.scene.Scene; |
|
||||||
import javafx.scene.layout.BorderPane; |
|
||||||
import javafx.scene.web.WebEngine; |
|
||||||
import javafx.scene.web.WebEvent; |
|
||||||
import javafx.scene.web.WebView; |
|
||||||
import netscape.javascript.JSObject; |
|
||||||
|
|
||||||
import javax.swing.*; |
|
||||||
|
|
||||||
/** |
|
||||||
* Created by vito on 2016/9/28. |
|
||||||
*/ |
|
||||||
public class ReuseWebPane extends JFXPanel { |
|
||||||
private WebEngine webEngine; |
|
||||||
|
|
||||||
public ReuseWebPane(final String mainJs) { |
|
||||||
Platform.setImplicitExit(false); |
|
||||||
Platform.runLater(new Runnable() { |
|
||||||
@Override |
|
||||||
public void run() { |
|
||||||
BorderPane root = new BorderPane(); |
|
||||||
Scene scene = new Scene(root); |
|
||||||
ReuseWebPane.this.setScene(scene); |
|
||||||
WebView webView = new WebView(); |
|
||||||
webEngine = webView.getEngine(); |
|
||||||
webEngine.load("file:///" + mainJs); |
|
||||||
webEngine.setOnAlert(new EventHandler<WebEvent<String>>() { |
|
||||||
@Override |
|
||||||
public void handle(WebEvent<String> event) { |
|
||||||
showAlert(event.getData()); |
|
||||||
} |
|
||||||
}); |
|
||||||
JSObject obj = (JSObject) webEngine.executeScript("window"); |
|
||||||
obj.setMember("ReuseHelper", ReuseWebBridge.getHelper(webEngine)); |
|
||||||
webView.setContextMenuEnabled(false);//屏蔽右键
|
|
||||||
root.setCenter(webView); |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
|
|
||||||
private void showAlert(final String message) { |
|
||||||
SwingUtilities.invokeLater(new Runnable() { |
|
||||||
@Override |
|
||||||
public void run() { |
|
||||||
JOptionPane.showMessageDialog(ReuseWebPane.this, message); |
|
||||||
} |
|
||||||
}); |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue