web-dev-qa-db-ja.com

JavaにGecko / WebKitを埋め込む

JavaとしてSwing/AWTコントロールとしてGecko、WebKit、または別のWebブラウザを埋め込みたいのですが、T RexやJWebPaneとは異なるものを探しています。

29
user318590

JxBrowser を使用できます。 GPUを介して豊富なAPIと標準のハードウェアアクセラレーションを提供しながら、 Chromium エンジンをラップするSwing/JavaFXコンポーネントを備えています。

残念ながら、バージョン4.0以降、他のエンジン(GeckoやWebKitなど)のサポートを終了しています。
オープンソースプロジェクトを除き、無料ではないことに注意してください。

15
Alexis Dufrenoy

SWTがオプションの場合、 SWTブラウザーウィジェット を使用できます。これは、プラットフォーム固有のブラウザー(Mozilla、Webkit、IEなど)を使用して、実際にコンテンツを表示します。概要については このEclipseの記事 を参照してください。

SWTを使用したくない場合は、 JavaXPCOM をお勧めします。これにより、GeckoをJavaアプリケーションに埋め込むことができます。

11
Grodriguez

JCEF

JCEF(Chromium Embedded Framework用のJavaラッパー) はJava CEFのラッパーであり、これはChromeのラッパーです。

どちらのプロジェクトも非常にアクティブに見え、ブラウザのレンダリングはJavaFXのWebViewよりもはるかに高速です(少なくともJDK 8u20では)。

JFXPanel

JFXPanelを介してSwingアプリケーションでJavaFX WebViewを使用することもできます。

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);
    }
}
10
Luke Quinane