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

时间:2009-09-21 13:58:34

标签: java browser embed

  

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

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

由于

6 个答案:

答案 0 :(得分:6)

答案 1 :(得分:6)

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

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

article可能会帮助您开始使用。

答案 2 :(得分:3)

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

答案 3 :(得分:2)

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

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

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

例如,BrowserPanel.navigate方法可用于跳转到网页,并且有许多Listener可以捕获浏览器中发生的事件。

答案 4 :(得分:2)

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

答案 5 :(得分: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");