在基于 Java 的桌面应用程序中嵌入浏览器 [重复]

Posted

技术标签:

【中文标题】在基于 Java 的桌面应用程序中嵌入浏览器 [重复]【英文标题】:Embed browser in Java based desktop application [duplicate] 【发布时间】:2010-11-30 02:12:13 【问题描述】:

可能重复:Is there a way to embed a browser in Java?

如何在基于 Java 的桌面应用程序中嵌入浏览器?我可以直接与嵌入式浏览器通信(而不是通过 localhost)...例如加载 html 文本、捕获 onclick 事件、获取表单值?

谢谢

【问题讨论】:

您想要一个真正的嵌入式浏览器,还是想要以编程方式浏览 HTML 页面? 可能想结帐github.com/rogerwang/node-webkit 【参考方案1】:

您也可以尝试来自 DJ Native Swing 的 JWebBrowser:http://djproject.sourceforge.net/ns

【讨论】:

【参考方案2】:

你可以试试 JxBrowser 库:http://www.teamdev.com/jxbrowser/features/

例如,要将 Mozilla 浏览器嵌入到您的 Java Swing 应用程序中,您只需执行以下代码:

Browser browser = BrowserFactory.createBrowser(BrowserType.Mozilla);

JFrame frame = new JFrame();

frame.add(browser.getComponent(), BorderLayout.CENTER);
frame.setSize(700, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);

browser.navigate("http://www.google.com");

【讨论】:

这不是免费使用的:/ 更新:从 4.0 版本开始,JxBrowser 仅在包括 Mac OS X、Linux 和 Windows 在内的所有平台上与 Chromium 引擎集成。 @Vladimir coudl 你为我提供了 jar 文件的链接和 jxBrowser 的教程。如果您有任何教程可以使用 jxBrowser 读取 epubfile/epublib,请提及。 @RaviPrajapati JxBrowser JARs 您可以从teamdev.com/jxbrowser 下载在此网页上,您可以找到有关 JxBrowser 文档和示例的链接。【参考方案3】:

Swing JEditor 窗格能够显示 HTML。

查看http://www.apl.jhu.edu/~hall/java/Swing-Tutorial/Swing-Tutorial-JEditorPane.html

在 SO 中还有对这个主题的更详细的回答:

https://***.com/questions/48249/java-embedding-a-web-browser-pane

【讨论】:

SO 链接建议使用 JWebPane,但您建议使用 JEditor。我不认为它们是一回事。感谢您的链接,我会调查这两个。【参考方案4】:

Lobo 是一个可以嵌入到 Swing 应用程序中的 Java Web 浏览器。

它支持 HTML 4、CSS 2 和 javascript,与仅支持 HTML 3.2 的 JEditorPane 相比,它更新了。

关于什么是可能的一些想法,Lobo Browser API documentation 应该提供一个关于 Lobo 可以做什么的想法。特别是org.lobobrowser.gui 有一个BrowserPanel 类,它是JPanel 的子类,因此它可以直接嵌入到Swing 应用程序中。

比如BrowserPanel.navigate方法可以用来跳转网页,有很多Listeners可以捕捉浏览器中发生的事件。

【讨论】:

原来的 Lobo 项目似乎已经死了。这是一个叉子:sourceforge.net/projects/loboevolution【参考方案5】:

查看 Eclipse,它有一个嵌入式浏览器,可由用户配置(它们支持多种浏览器)。

即使您通过 AWT_SWT 桥使用基于 AWT 的应用程序,您也可以嵌入他们的浏览器。

这个article 可以帮助您入门。

【讨论】:

这个有独立版本吗?【参考方案6】:

您可以使用JEditorPane 构建一个非常原始的浏览器。您可以收听 Hyperlink 事件,但无法使用 javascript 或获取表单值。

【讨论】:

以上是关于在基于 Java 的桌面应用程序中嵌入浏览器 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Java 桌面应用程序中嵌入谷歌地图

java - 如何在java桌面应用程序中使用spring(事务)和hibernate创建嵌入式H2 DB?

如何在 Windows 环境中写入安装在“C:\Program Files”中的 Java 桌面应用程序的嵌入式 derby 数据库?

Java:嵌入到 Java 桌面应用程序中的脚本语言(宏)

带有缩略图查看器的基于浏览器的远程桌面

在WPF中使用CefSharp嵌入浏览器