可能重复:
有没有办法在 Java 中嵌入浏览器?
如何在基于 Java 的桌面应用程序中嵌入浏览器?我可以直接与嵌入式浏览器通信(而不是通过本地主机)...例如加载 html 文本、捕获 onclick 事件、获取表单值?
谢谢
可能重复:
有没有办法在 Java 中嵌入浏览器?
如何在基于 Java 的桌面应用程序中嵌入浏览器?我可以直接与嵌入式浏览器通信(而不是通过本地主机)...例如加载 html 文本、捕获 onclick 事件、获取表单值?
谢谢
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
您可以使用JEditorPane构建一个非常原始的浏览器。您可以收听超链接事件,但无法使用 javascript 或获取表单值。
Lobo是一个可以嵌入到 Swing 应用程序中的 Java Web 浏览器。
它支持 HTML 4、CSS 2 和 Javascript,与JEditorPane
仅支持 HTML 3.2 相比更新。
关于什么是可能的一些想法,Lobo 浏览器 API 文档应该提供一个关于 Lobo 可以做什么的想法。特别是,org.lobobrowser.gui
有一个BrowserPanel
类,它是 的子类JPanel
,因此可以直接嵌入到 Swing 应用程序中。
例如,该BrowserPanel.navigate
方法可以用来跳转到网页,有很多Listener
s可以捕获浏览器中发生的事件。
您也可以尝试来自 DJ Native Swing 的 JWebBrowser:http: //djproject.sourceforge.net/ns
您可以尝试 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");