有没有办法在Java中嵌入浏览器?

有没有办法在Java中嵌入浏览器?,java,browser,cross-platform,Java,Browser,Cross Platform,有没有办法在Java中嵌入浏览器?更具体地说,是否有一个可以模拟浏览器的库?您可以尝试,或者我相信JWebPane将成为将浏览器嵌入java应用程序的正式方式。它基于苹果Safari和谷歌Chrome浏览器中使用的开源引擎WebKit。有关详细信息,请参阅。可用于GUI。它的浏览器控件允许您轻松嵌入IE、Mozilla或Safari(取决于您运行的平台) 我已使用从Java成功打开浏览器。您可以找到如何使用SWT打开浏览器窗口的详细信息。这很容易做到。到目前为止,我所熟悉的最健壮的嵌入式浏览器是

有没有办法在Java中嵌入浏览器?更具体地说,是否有一个可以模拟浏览器的库?

您可以尝试,或者

我相信JWebPane将成为将浏览器嵌入java应用程序的正式方式。它基于苹果Safari和谷歌Chrome浏览器中使用的开源引擎WebKit。有关详细信息,请参阅。

可用于GUI。它的浏览器控件允许您轻松嵌入IE、Mozilla或Safari(取决于您运行的平台)

我已使用从Java成功打开浏览器。您可以找到如何使用SWT打开浏览器窗口的详细信息。这很容易做到。

到目前为止,我所熟悉的最健壮的嵌入式浏览器是SWT中的浏览器。 事实上,它非常灵活,您可以在Eclipse中看到的JavaDoc悬停实际上是一个浏览器,JavaDoc视图实际上支持动画之类的东西


使用SWT的唯一风险是针对不同平台的SWT库有不同的版本。我不确定是否有一个单独的罐子可以覆盖所有人

您可以使用API在Swing/AWT GUI中嵌入浏览器,因此,它可能对您没有用处。

看看 您可以尝试以下方法:


(来源:)

或者这个:



(来源:)

如果您需要纯Java解决方案,那么您可以试试。它呈现HTML4非常好。您可以在applet、javawebstart和任何平台上使用它。使用非常简单。

尚未提及。它嵌入了Mozilla Firefox(Gecko)、Apple Safari(WebKit)或Internet Explorer

您还可以尝试DJ Native Swing中的JWebBrowser:

因为现在可以使用JavaFX2.0


您可以尝试使用
JEditorPane
,它不解释高级HTML、Javascript或高级CSS,但您可以自己编写该部分,称为
EditorKit
。这是JEditorPane查询的类/对象,或者它必须如何显示其内容


我知道这是可能的,因为我尝试了,但失败了(:p),但现在它可能已经过时或不推荐了,我不知道。

如果你看看Minecraft发射器(旧的),通过LoginForm或LauncherFrame,你可能会找到那个方法。youtube上有kippykip关于如何反编译和编辑的教程:

也许是你的选择。特定于Java的是

用于SWT的javacef:



java cef for AWT:

截至2009年3月3日,这仍然不可能。截至2009年9月21日,这仍然不可能。截至2009年12月23日,这还不可能在JavaFX2.0(库系列)中将JWebPane更新为WebView。请参阅:有关它运行的示例屏幕截图,请参阅:(虽然不是用java编写的,但使用的是实验性JVM语言)JavaFX中的WebView是真正独立的跨平台还是依赖于任何特定于平台的本机组件?更重要的是,它是如何叠加到呈现页面的?它是由WebKit提供动力的,但在呈现网站时,这是否接近于拥有真正的浏览器?Ice浏览器实际上已经不再销售,该产品已经到了生命的尽头。然而,它不是一个开源解决方案。它可能不适合所有的需要。开源不是OP的要求。至少有一些东西是很好的。但与Chrome或Firefox 4相比,它的速度非常慢,图形也非常糟糕。Lobo 2没有更新years@OzhanDuz有关于JDIC问题的详细信息吗?我喜欢这种方法,但我自己还没有使用过。远离JDIC,它不是多平台的,我不确定,但开发可能会停止或不活跃。使用DJ Native Swing,您将获得定期更新、更好的api和更稳定的性能。现在被称为飞碟,如果您不需要跨平台解决方案,它也是TeamDev提供的更便宜的解决方案。从4.0版开始,JxBrowser与Chromium engine集成。多年来我一直在寻找这个问题的真正答案,JxBrowser版本4确实是一个游戏规则改变者。这正是您所希望的swing浏览器组件。现在允许将Google Chromium引擎嵌入Java swing/JavaFX应用程序。它支持两种渲染模式:轻量级(屏幕外)和重量级(GPU加速)。它对开源项目是免费的。这里有一个指南:另一个JavaFX库是JxBrowser和BrowserView组件:WebView有一些性能问题,请看可能出现的糟糕情况。性能最差,javascript很少工作,不需要的行为。永远不能在任何好的项目中使用刚刚试用过的WebView(2021年1月9日),现在它的性能非常好!(在macOS上)总体来说非常好,我想我将通过这种方法制作GUI(也让我嵌入漂亮的javascript小部件)。库提供了基于最新Chrome引擎的Swing/JavaFX轻量级组件。网页由Chromium引擎在屏幕外呈现,并显示在轻量级Swing/JavaFX组件中。这很有趣。它对开源和学术项目是免费的。我想,它是商业化的。我的意思是,你如何获得免费许可@Vladimir?在评估表中,选择开源或学术。您将看到简短的解释:评估许可证在此之后将不起作用。如果你正在做一个开源项目,你可以通过你将收到的电子邮件中提供的链接申请永久许可证。因此,一旦您请求评估,您将收到一封电子邮件,您可以写信请求开源项目的免费许可证。browser.evaluate()的返回值仅限于视图类型。JavaFx WebEngine可以通过将返回值包装在JSObject中来处理各种返回类型。browser.evaluate()的返回值仅限于视图类型。JavaFXWebEngine可以通过在JSObjectJEditorPane中包装返回值来处理所有类型的返回类型,它最多支持HTML3.2