8

可能重复:
有没有办法在 Java 中嵌入浏览器?

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

谢谢

4

6 回答 6

6

Swing JEditor 窗格能够显示 HTML。

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

在 SO 中还有一个更详细的答案:

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

于 2009-09-21T14:14:15.933 回答
6

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

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

本文可能会帮助您入门。

于 2009-09-21T14:19:28.200 回答
3

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

于 2009-09-21T14:14:04.327 回答
2

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

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

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

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

于 2009-09-21T15:03:44.080 回答
2

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

于 2011-01-26T22:19:42.883 回答
1

您可以尝试 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");
于 2010-12-03T16:42:41.460 回答