【问题标题】:Web Browser Control in Java?Java中的Web浏览器控制?
【发布时间】:2019-11-04 12:41:26
【问题描述】:

我来自 C# 背景。我们有一个叫做WebBrowser 的控件,它可以加载 HTML 页面并使用 C# 与 Javascript 交互。

我想使用 Java 与 HTML / Javascript 页面进行交互。是否有任何众所周知的用于 Java 的 WebBrowser 控件/对象或库?

【问题讨论】:

标签: java webbrowser-control


【解决方案1】:

https://docs.oracle.com/javafx/2/webview/jfxpub-webview.htm 我认为这是您正在寻找的小部件。来自官方 JavaFX 网站。

【讨论】:

    【解决方案2】:

    有很多选择,包括商业和开源解决方案。

    JavaFX

    JavaFX 在 Java 8-10 中可用。它providesWebView 控件可以嵌入到您的JavaFX 应用程序中以显示HTML 和网页。它基于 WebKit 并使用 Java 图形 API 离屏 呈现 HTML。这是lightweight。在 Java 11 中,JavaFX 不再可用。它被提取到一个单独的项目中——OpenJFX

    在 Windows、macOS、Linux 上运行。

    JxBrowser

    这是一个商业图书馆。它providesBrowserView 控制 Swing、JavaFX、SWT。它基于 Chromium,因此现代网页看起来与 Google Chrome 中的完全一样。它支持两种rendering modes离屏(轻量级)和硬件加速(GPU加速,重量级)。

    在 Windows、macOS、Linux、Linux 64 位 ARM 上运行。

    JCEF

    这是一个开源库,代表CEF (C/C++) 的 Java 端口。据我所知,它只支持 Swing。它基于 Chromium,因此现代网页看起来与 Google Chrome 中的完全一样。

    在 Windows、macOS、Linux 上运行。


    有什么区别?

    2018 年 Sebastian Barth 比较了不同的 Java 库,包括 JavaFX、JCEF、JxBrowser 等,并在Browser Integration in Java Applications 文章中分享了结果。

    【讨论】:

      【解决方案3】:

      还有一个选项 - https://github.com/shannah/webviewjar - 非常薄的库,利用操作系统内置的浏览器,因此整个库不到 1mb - macOS、Windows 和 Linux 原生 shims 都在一个 jar 中。

      p>

      【讨论】:

        猜你喜欢
        • 2012-03-01
        • 1970-01-01
        • 2013-08-06
        • 2016-09-18
        • 1970-01-01
        • 2011-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多