在基于 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
方法可以用来跳转网页,有很多Listener
s可以捕捉浏览器中发生的事件。
【讨论】:
原来的 Lobo 项目似乎已经死了。这是一个叉子:sourceforge.net/projects/loboevolution【参考方案5】:查看 Eclipse,它有一个嵌入式浏览器,可由用户配置(它们支持多种浏览器)。
即使您通过 AWT_SWT 桥使用基于 AWT 的应用程序,您也可以嵌入他们的浏览器。
这个article 可以帮助您入门。
【讨论】:
这个有独立版本吗?【参考方案6】:您可以使用JEditorPane 构建一个非常原始的浏览器。您可以收听 Hyperlink 事件,但无法使用 javascript 或获取表单值。
【讨论】:
以上是关于在基于 Java 的桌面应用程序中嵌入浏览器 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
java - 如何在java桌面应用程序中使用spring(事务)和hibernate创建嵌入式H2 DB?
如何在 Windows 环境中写入安装在“C:\Program Files”中的 Java 桌面应用程序的嵌入式 derby 数据库?