【发布时间】:2010-12-26 01:53:33
【问题描述】:
我正在做一个 Java 应用程序,需要在应用程序中使用 Web 浏览器。
我已经看到一些应用程序这样做,例如 RSS 阅读器,当单击左侧面板中的提要并在同一应用程序的右侧面板中打开链接时,我想实现类似的东西。
在java中可以做到这一点吗? Java API 中是否包含任何库?我需要外部库吗?有什么资料吗? IE、火狐、Chrome、Opera?我应该使用什么?
提前致谢
【问题讨论】:
我正在做一个 Java 应用程序,需要在应用程序中使用 Web 浏览器。
我已经看到一些应用程序这样做,例如 RSS 阅读器,当单击左侧面板中的提要并在同一应用程序的右侧面板中打开链接时,我想实现类似的东西。
在java中可以做到这一点吗? Java API 中是否包含任何库?我需要外部库吗?有什么资料吗? IE、火狐、Chrome、Opera?我应该使用什么?
提前致谢
【问题讨论】:
每个人都在避免的明显的一个是 JEditorPane,它正在摇摆不定。这是一头猪,而且非常有限,但对于某些类型的 HTML 渲染来说它还可以。
我将它用于更简单的工作。
正如其他链接中提到的,Lobo 浏览器是另一种选择。里面的 cobra 东西非常好,比 JEditorPane 处理的页面多得多。我发现它完成了我所有的中型工作,但它的设计中有一些令人沮丧的不可扩展部分。我将它用于我的帮助系统和一些非 AJAX 繁重的网络工作。
对于像谷歌地图这样的任何东西,以及那些繁重的 AJAX 风格的网络应用程序,你几乎都被 DJ Native 作为另一张海报和其他问题的回答所提及。由于它在幕后使用真正的浏览器,它可以处理任何网站。唯一的缺点是你失去了对它正在做什么的一定程度的控制,因为你必须通过 Java 脚本调用它并通过类似的机制获取事件。
作为一个正常人都不需要的示例,我有一些应用程序可以将摇摆控件(报告等)即时呈现到网页中。在 JEditorPane 中,这令人困惑,但可能。在 Cobra 中,这几乎很容易,但有一些私有或最终方法需要变通方法。在 DJ Native 中,如果不提前生成图像并通过 URL(本地或远程)提供它是不可能的。
所以这一切都取决于您的需求。免费,没有完美的解决方案。
【讨论】:
你可以试试 Flying Saucer XHTML 渲染器项目。
有点意思。看看这个链接:http://code.google.com/p/flying-saucer//
【讨论】:
您可以尝试Eclipse SWT - 这是 Eclipse 项目中使用的 GUI 工具包。特别是,Browser widget 应该可以满足您的需求。
【讨论】:
根据 darkassassin93 链接中的一个答案,作为 DJ Project 一部分的本机网络浏览器似乎是合理的。我已经简单地尝试过了,效果很好。 (当然,您可以等到 JWebPane 最终发布……无论何时发布)
【讨论】: