Intégration de Gecko / WebKit en Java

j'aimerais avoir Gecko, WebKit, ou un autre webbrowser intégré en Java comme contrôle Swing/AWT. Je cherche autre chose que JRex ou JWebPane .

28
demandé sur Francesco Menzani 2010-04-16 19:01:33

3 réponses

vous pouvez utiliser JxBrowser . Il dispose d'un composant Swing/JavaFX qui enveloppe le moteur Chromium tout en fournissant une API riche et hardware-of-the-box-accélération à travers le GPU.

malheureusement, ils ont abandonné le support pour 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
répondu Alexis Dufrenoy 2017-09-10 14:59:40

si SWT est une option, vous pouvez utiliser le widget de navigateur de SWT , cela utilisera un navigateur spécifique à la plate-forme (par exemple Mozilla, Webkit, IE) pour réellement afficher le contenu. Jetez un oeil à cet article D'éclipse 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
répondu 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 très actifs et le le rendu du navigateur est beaucoup plus rapide que le WebView de JavaFX (du moins avec JDK 8u20).

JFXPanel

il est également possible d'utiliser le 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
répondu Luke Quinane 2015-12-17 16:12:21