我想将Gecko,WebKit或其他嵌入Java的webbrowser作为Swing / AWT控件。
我正在寻找与JRex或JWebPane
不同的东西。
答案 0 :(得分:14)
您可以使用JxBrowser。 它具有一个Swing / JavaFX组件,它包含Chromium引擎,同时通过GPU提供丰富的API和开箱即用的硬件加速。
不幸的是,自4.0版以来,他们已经放弃了对其他引擎(如Gecko和WebKit)的支持 请注意,除开源项目外,它不是免费的。
答案 1 :(得分:11)
如果SWT是一个选项,您可以使用SWT Browser widget,这将使用特定于平台的浏览器(例如Mozilla,Webkit,IE)来实际显示内容。请查看this Eclipse article以获取概述。
如果您不想使用SWT,我建议JavaXPCOM。这允许您将Gecko嵌入Java应用程序中。
答案 2 :(得分:10)
JCEF(用于Chromium嵌入式框架的Java包装器)是围绕CEF的Java包装器,它又是Chrome的包装器:
两个项目看起来都非常活跃,浏览器渲染速度比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);
}
}