【问题标题】:Webkit browser in a Java appJava 应用程序中的 Webkit 浏览器
【发布时间】:2011-01-30 08:32:42
【问题描述】:

我想知道是否有使用 webkit 的 Java swing 组件。 是否可以用 Java 创建 webkit 浏览器 - 我必须使用 JavaFX 吗?

【问题讨论】:

    标签: java swing webkit


    【解决方案1】:

    【讨论】:

    【解决方案2】:

    SWT 内置了对 GWT、Windows 和 OS X 的支持。对 GWT 和 OS X 的支持可能不如 Windows。

    http://lists.macosforge.org/pipermail/webkit-help/2009-December/000548.html

    XULRunner 可能在 Java 和 DOM 之间有更好的 API 访问。

    【讨论】:

      【解决方案3】:

      我为我的大学项目开发​​这个浏览器可能对你有帮助

      My Button 是开源的 java web 浏览器。

      为学校和大学项目和学习目的而开发。下载源代码解压.zip文件并将“mybutton”文件夹从“parser\mybutton”复制到C:\

      在 Eclipse 中导入项目“omtMyButton”。需要 Java 6。

      下载.exe和源代码:https://sourceforge.net/projects/omtmybutton/files/

      【讨论】:

        【解决方案4】:

        您还可以查看跨平台的JxBrowser Java 库,该库允许将基于 Chromium 的 Web 浏览器控件嵌入到 Java AWT/Swing 应用程序中。该库是我工作的公司的开发人员。

        它同时支持 Java Swing 和 JavaFX。

        顺便说一句:浏览器控件是完全轻量级的。所有渲染都由原生 Chromium 引擎在单独的原生进程中进行。该网页看起来像是在 Google Chrome 中显示的。

        【讨论】:

        • 我认为你必须否认你在那里工作。否则,根据 StackOverflow 的规则,这可能会被视为垃圾邮件。
        • @MouseEvent 我已经更新了答案。能否请您指出 StackOverflow 规则中的部分,我可以在其中找到有关哪些答案可以被视为垃圾邮件的更多详细信息?
        • @MouseEvent 谢谢!
        【解决方案5】:

        JCEF

        JCEF(Java Wrapper for the Chromium Embedded Framework) 是 CEF 的 Java 包装器,而 CEF 又是 Chrome 的包装器:

        这两个项目看起来都非常活跃,浏览器渲染速度比 JavaFX 的 WebView 快得多(至少在 JDK 8u20 中)。

        JFXPanel

        还可以通过 JFXPanel 在 Swing 应用程序中使用 JavaFX WebView。

        public class JavaFxWebBrowser extends JFXPanel {
            private WebView webView;
            private WebEngine webEngine;
        
            public JavaFxWebBrowser() {
                Platform.runLater(() -> {
                    initialiseJavaFXScene();
                });
            }
        
            private void initialiseJavaFXScene() {
                webView = new WebView();
                webEngine = webView.getEngine();
                webEngine.load("http://stackoverflow.com");
        
                Scene scene = new Scene(webView);
                setScene(scene);
            }
        }
        

        【讨论】:

          猜你喜欢
          • 2011-03-17
          • 2014-12-16
          • 1970-01-01
          • 2012-01-11
          • 1970-01-01
          • 2014-01-24
          • 1970-01-01
          • 2013-10-10
          • 1970-01-01
          相关资源
          最近更新 更多