我想将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(Chromium嵌入式框架的Java Wrapper)是围绕CEF的Java包装器,它反过来是Chrome的包装器:
https://bitbucket.org/chromiumembedded/java-cef
https://bitbucket.org/chromiumembedded/cef
这两个项目看起来都非常活跃,浏览器渲染速度比JavaFX的WebView要快得多(至少使用JDK 8u20).
也可以通过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); } }