在 Java 中嵌入 Gecko/WebKit
我希望将 Gecko、WebKit 或其他 Web 浏览器嵌入到 Java 中作为 Swing/AWT 控件。 我正在寻找与 JRex 或 JWebPane
不同的东西。
I'd like to have Gecko, WebKit, or another webbrowser embedded in Java as a Swing/AWT control.
I'm looking for something different than JRex or JWebPane
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用 JxBrowser。
它具有一个 Swing/JavaFX 组件,该组件包装了 Chromium 引擎,同时提供丰富的 API 和 out-of-通过 GPU 进行开箱硬件加速。
不幸的是,自 4.0 版本以来,他们已经放弃了对其他引擎(如 Gecko 和 WebKit)的支持。
请注意,除了开源项目之外,它不是免费的。
You could use JxBrowser.
It features a Swing/JavaFX component that wraps the Chromium engine while providing a rich API and out-of-the-box hardware-acceleration through the GPU.
Unfortunately, they've dropped support for other engines (like Gecko and WebKit) since 4.0 version.
Note that it's not free, except for open-source projects.
JCEF
JCEF(Chromium 嵌入式框架的 Java 包装器) 是 CEF 的 Java 包装器,而 CEF 又是 Chrome 的包装器:
这两个项目看起来都相当活跃,并且浏览器渲染比 JavaFX 的 WebView 快得多(至少使用 JDK 8u20)。
JFXPanel
还可以通过 JFXPanel 在 Swing 应用程序中使用 JavaFX WebView。
JCEF
JCEF (Java Wrapper for the Chromium Embedded Framework) is a Java wrapper around CEF, which is in turn a wrapper around Chrome:
Both projects seem quite active and the browser rendering is much faster than JavaFX's WebView (at least with JDK 8u20).
JFXPanel
It is also possible to use the JavaFX WebView in a Swing application via the JFXPanel.
如果可以选择 SWT,则可以使用 SWT 浏览器小部件,这将使用特定于平台的浏览器(例如 Mozilla、Webkit、IE)来实际显示内容。看一下 这篇 Eclipse 文章 了解概述。
如果您不想使用 SWT,那么我推荐 JavaXPCOM。这允许您将 Gecko 嵌入到 Java 应用程序中。
If SWT is an option, you can use the SWT Browser widget, this will use a platform-specific browser (e.g. Mozilla, Webkit, IE) to actually display the content. Have a look at this Eclipse article for an overview.
If you don't want to use SWT, then I recommend JavaXPCOM. This allows you to embed Gecko in a Java application.