Intégration de Gecko / WebKit en Java


J'aimerais que Gecko, WebKit ou un autre navigateur Web soit intégré dans Java en tant que contrôle Swing/AWT. Je cherche quelque chose de différent de JRex ou JWebPane.

Author: Francesco Menzani, 2010-04-16

3 answers

Vous pouvez utiliser JxBrowser. Il dispose d'un composant Swing / JavaFX qui enveloppe le moteur Chromium tout en fournissant une API riche et une accélération matérielle prête à l'emploi via le GPU.

Malheureusement, ils ont abandonné la prise en charge d'autres moteurs (comme Gecko et WebKit) depuis la version 4.0.
Notez que ce n'est pas gratuit, sauf pour les projets open-source.

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

Si SWT est une option, vous pouvez utiliser le SWT Browser widget, cela utilisera un navigateur spécifique à la plate-forme (par exemple Mozilla, Webkit, IE) pour afficher réellement le contenu. Jetez un oeil à cet article Eclipse pour un aperçu.

Si vous ne voulez pas utiliser SWT, alors je recommande JavaXPCOM. Cela vous permet d'intégrer Gecko dans une application Java.

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

JCEF

JCEF (Java Wrapper for the Chromium Embedded Framework) est un wrapper Java autour de CEF, qui est à son tour un wrapper autour de Chrome:

Les deux projets semblent assez actifs et le rendu du navigateur est beaucoup plus rapide que WebView de JavaFX (au moins avec JDK 8u20).

JFXPanel

Il est également possible de utilisez JavaFX WebView dans une application Swing via le 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