在Java中嵌入Gecko / WebKit

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

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

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

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

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

JCEF

JCEF( Chromium Embedded Framework的Java Wrapper)是围绕CEF的Java包装器,它反过来是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); } } 
Interesting Posts