当前位置:  开发笔记 > 编程语言 > 正文

在Java中嵌入Gecko/WebKit

如何解决《在Java中嵌入Gecko/WebKit》经验,为你挑选了3个好方法。

我想将Gecko,WebKit或其他嵌入Java的webbrowser作为Swing/AWT控件.我正在寻找与JRex或者不同的东西JWebPane.



1> Alexis Dufre..:

你可以使用JxBrowser.它采用Swing/JavaFX组件,包含Chromium引擎,同时通过GPU提供丰富的API和开箱即用的硬件加速.

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


所有免费获取开源信息的JXBrowser似乎都已从其网站上删除.有谁知道它是否仍然免费开源?AS @Supuhstar说,这是一个相当昂贵的产品.他们可以收取他们想要的任何费用,但很少有开源项目可以支付4,600美元的项目许可证(并且开发人员的每个开发人员价格1,600美元对于开源来说没有任何意义,而且对开放来说它也太贵了源项目).不幸的是,这似乎是唯一准备好用于基于浏览器的严肃应用程序的java组件.

2> Grodriguez..:

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

如果您不想使用SWT,那么我建议使用JavaXPCOM.这允许您将Gecko嵌入Java应用程序中.



3> Luke Quinane..:

JCEF

JCEF(Chromium嵌入式框架的Java Wrapper)是围绕CEF的Java包装器,它反过来是Chrome的包装器:

https://bitbucket.org/chromiumembedded/java-cef

https://bitbucket.org/chromiumembedded/cef

这两个项目看起来都非常活跃,浏览器渲染速度比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);
    }
}


是围绕CEF的Java包装器,它反过来是Chrome的包装器:
推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有