【问题标题】:JXBrowser similarJXBrowser 类似
【发布时间】:2023-03-14 14:45:01
【问题描述】:

我在我的一个 Java 项目中使用 JXBrowser 来简单显示 googlemaps 网页,以便我可以在那里跟踪路线,但最近我想改进该项目,但我的问题是 JXBrowser 的许可证过期(只有一个月),我不能只要求另一个许可证,它不能那样工作。所以我在找一个类似JXBrowser的API,你们知道吗?

【问题讨论】:

  • 所以我搜索了一个类似的解决方案,我发现 webView 是 jfx 组件,但我不知道如何使用它,谁能帮助我?
  • 你不能将jfx用于复杂的网页,例如googlemaps,jfx不是真正的浏览器并且在复杂的网页(丰富的css,javascript等)上失败,即使页面被渲染,你也会遇到性能问题,冻结,并且无法正确响应用户操作。如果您的目标操作系统是 windows,您可以使用 dj 浏览器。 sourceforge.net/projects/djproject 开源免费,但不支持macosx。
  • 有几个(SWT 组件、Lobo、mozswing)。我可以注意到,自 2007 年以来,TeamDev 花了很多时间来使这个成为最好的。有一些重要功能,例如:最新的浏览器引擎(Chromium 现在使用 V8 JavaScript),大多数其他 API 不会更新它。插入集成而不是不安全的 JNI 绑定,与 Chrome 选项卡方法相同。丰富的 API - 您可以控制大多数浏览器功能,例如代理配置或页面脚本。如果您从事开源或学术项目,他们可以为您提供免费许可证。

标签: javascript java jxbrowser


【解决方案1】:

您可以使用WebView - JavaFX 组件。对于简单的页面来说这是一个合理的选择,它提供了一个非常好的时间效果比

WebView webView = new WebView();
webView.getEngine().load("https://www.google.com/maps");

如果您需要更强大的功能并且无法获得 JxBrowser 的许可证 - 还有 JCEF 项目:

不幸的是,它仅适用于 AWT/Swing,因为它太复杂而无法将其嵌入SwingNode。我在这里提到过:

对于基于 JCEF 的项目,您必须考虑支持的平台。存在不同的原生变量和特定于平台的问题,例如:

【讨论】:

  • correct URL 缺少最后的“l”。
  • 谢谢@olivier-cailloux,我已经修好了:)
【解决方案2】:

JxBrowser 有两种选择:JavaFX WebViewJCEF

在以下文章中您可以了解它们之间的区别:

另外,您可能想看看Browser Integration in Java Applications 文章。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    相关资源
    最近更新 更多