Embedding Gecko/WebKit in Java

前端 未结 3 636
南笙
南笙 2020-11-29 02:47

I\'d like to have Gecko, WebKit, or another webbrowser embedded in Java as a Swing/AWT control. I\'m looking for something different than JRex or JWebPane.

3条回答
  •  暗喜
    暗喜 (楼主)
    2020-11-29 03:22

    JCEF

    JCEF (Java Wrapper for the Chromium Embedded Framework) is a Java wrapper around CEF, which is in turn a wrapper around Chrome:

    • https://bitbucket.org/chromiumembedded/java-cef
    • https://bitbucket.org/chromiumembedded/cef

    Both projects seem quite active and the browser rendering is much faster than JavaFX's WebView (at least with JDK 8u20).

    JFXPanel

    It is also possible to use the JavaFX WebView in a Swing application via the JFXPanel.

    public class JavaFxWebBrowser extends JFXPanel {
        private WebView webView;
        private WebEngine webEngine;
    
        public JavaFxWebBrowser() {
            Platform.runLater(() -> {
                initialiseJavaFXScene();
            });
        }
    
        private void initialiseJavaFXScene() {
            webView = new WebView();
            webEngine = webView.getEngine();
            webEngine.load("http://stackoverflow.com");
    
            Scene scene = new Scene(webView);
            setScene(scene);
        }
    }
    

提交回复
热议问题