30

我想将 Gecko、WebKit 或其他 Web 浏览器嵌入 Java 作为 Swing/AWT 控件。我正在寻找与 JRex 或JWebPane.

4

3 回答 3

16

您可以使用JxBrowser。它具有一个封装Chromium引擎的 Swing/JavaFX 组件,同时通过 GPU 提供丰富的 API 和开箱即用的硬件加速。

不幸的是,自 4.0 版本以来,他们已经放弃了对其他引擎(如 Gecko 和 WebKit)的支持。
请注意,它不是免费的,开源项目除外。

于 2010-11-13T11:51:36.963 回答
13

如果 SWT 是一个选项,您可以使用SWT Browser 小部件,这将使用特定于平台的浏览器(例如 Mozilla、Webkit、IE)来实际显示内容。查看这篇 Eclipse 文章以获得概述。

如果您不想使用 SWT,那么我推荐JavaXPCOM。这允许您将 Gecko 嵌入到 Java 应用程序中。

于 2010-11-13T14:05:08.407 回答
11

JCEF

JCEF(用于 Chromium Embedded Framework 的 Java 包装器)是 CEF 的 Java 包装器,而 CEF 又是 Chrome 的包装器:

这两个项目似乎都很活跃,浏览器渲染比 JavaFX 的 WebView 快得多(至少在 JDK 8u20 中)。

JFX面板

也可以通过 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);
    }
}
于 2014-09-25T00:48:28.953 回答