【发布时间】:2011-01-30 08:32:42
【问题描述】:
我想知道是否有使用 webkit 的 Java swing 组件。 是否可以用 Java 创建 webkit 浏览器 - 我必须使用 JavaFX 吗?
【问题讨论】:
我想知道是否有使用 webkit 的 Java swing 组件。 是否可以用 Java 创建 webkit 浏览器 - 我必须使用 JavaFX 吗?
【问题讨论】:
Swing Team 正在开发一个: http://weblogs.java.net/blog/ixmal/archive/2008/05/introducing_jwe.html
【讨论】:
WebView。也可以在 Swing 应用中使用
SWT 内置了对 GWT、Windows 和 OS X 的支持。对 GWT 和 OS X 的支持可能不如 Windows。
http://lists.macosforge.org/pipermail/webkit-help/2009-December/000548.html
XULRunner 可能在 Java 和 DOM 之间有更好的 API 访问。
【讨论】:
我为我的大学项目开发这个浏览器可能对你有帮助
My Button 是开源的 java web 浏览器。
为学校和大学项目和学习目的而开发。下载源代码解压.zip文件并将“mybutton”文件夹从“parser\mybutton”复制到C:\
在 Eclipse 中导入项目“omtMyButton”。需要 Java 6。
下载.exe和源代码:https://sourceforge.net/projects/omtmybutton/files/
【讨论】:
您还可以查看跨平台的JxBrowser Java 库,该库允许将基于 Chromium 的 Web 浏览器控件嵌入到 Java AWT/Swing 应用程序中。该库是我工作的公司的开发人员。
它同时支持 Java Swing 和 JavaFX。
顺便说一句:浏览器控件是完全轻量级的。所有渲染都由原生 Chromium 引擎在单独的原生进程中进行。该网页看起来像是在 Google Chrome 中显示的。
【讨论】:
JCEF(Java Wrapper for the Chromium Embedded Framework) 是 CEF 的 Java 包装器,而 CEF 又是 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);
}
}
【讨论】: