Integrazione di Gecko / WebKit in Java


Mi piacerebbe avere Gecko, WebKit o un altro webbrowser incorporato in Java come controllo Swing/AWT. Sto cercando qualcosa di diverso da JRex o JWebPane.

Author: Francesco Menzani, 2010-04-16

3 answers

È possibile utilizzare JxBrowser. È dotato di un componente Swing / JavaFX che avvolge il motore Chromium fornendo una ricca API e accelerazione hardware pronta all'uso attraverso la GPU.

Sfortunatamente, hanno abbandonato il supporto per altri motori (come Gecko e WebKit) dalla versione 4.0.
Si noti che non è gratuito, ad eccezione dei progetti open source.

 14
Author: Alexis Dufrenoy, 2017-09-10 14:59:40

Se SWT è un'opzione, è possibile utilizzare il SWT Browser widget, questo utilizzerà un browser specifico della piattaforma (ad esempio Mozilla, Webkit, IE) per visualizzare effettivamente il contenuto. Dai un'occhiata a questo articolo di Eclipse per una panoramica.

Se non vuoi usare SWT, ti consiglio JavaXPCOM. Ciò consente di incorporare Gecko in un'applicazione Java.

 11
Author: Grodriguez, 2010-11-13 14:10:12

JCEF

JCEF (Java Wrapper per il framework Embedded Chromium) è un wrapper Java attorno a CEF, che è a sua volta un wrapper attorno a Chrome:

Entrambi i progetti sembrano abbastanza attivi e il rendering del browser è molto più veloce della WebView di JavaFX (almeno con JDK 8u20).

JFXPANNELLO

È anche possibile utilizzare JavaFX WebView in un'applicazione Swing tramite 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);
    }
}
 8
Author: Luke Quinane, 2015-12-17 16:12:21