程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了将JavaFX 2.0 WebView集成到Swing Java SE 6应用程序中大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决将JavaFX 2.0 WebView集成到Swing Java SE 6应用程序中?

开发过程中遇到将JavaFX 2.0 WebView集成到Swing Java SE 6应用程序中的问题如何解决?下面主要结合日常开发的经验,给出你关于将JavaFX 2.0 WebView集成到Swing Java SE 6应用程序中的解决方法建议,希望对你解决将JavaFX 2.0 WebView集成到Swing Java SE 6应用程序中有所启发或帮助;

很有可能!

一个必须安装JavaFX 2.0,并设法以某种方式将其包含jfxrt.jar在Classpath中。

以下代码在JFrame中呈现JFXPanel。JFXPanel包含一个加载的WebViewGoogle.com

但是,至少在我的机器上,WebVIEw感觉很草率。我正在Mac OS X 10.6上工作;JavaFX 2.0仍处于OS X的测试版中。

__我找到的 替代方法@H_772_16@ 包括MozSwing,它看起来非常有前途,而且感觉很快。遗憾的是,自2008年以来,该项目就不再进行开发了,捆绑的Xul运行程序已经很旧了(没有新的HTML 5)。

两种方法都是通过Maven包含的噩梦,您最好设置自己的本地存储库。

import java.awt.Dimension;
import java.awt.Point;

import javafx.application.Platform;
import javafx.embed.swing.JFXPanel;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.web.WebENGIne;
import javafx.scene.web.WebVIEw;

import javax.swing.Jbutton;
import javax.swing.JFrame;
import javax.swing.SwingUtilitIEs;

public class JavaFX {

    /* Create a JFrame with a Jbutton and a JFXPanel containing the WebVIEw. */
    private static voID initAndShowGUI() {
        // This method is invoked on Swing thread
        JFrame frame = new JFrame("FX");
        frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);

        frame.getContentPane().setLayout(null); // do the layout manually

        final Jbutton jbutton = new Jbutton("button");
        final JFXPanel fxPanel = new JFXPanel();

        frame.add(jbutton);
        frame.add(fxPanel);
        frame.setVisible(true);

        jbutton.setSize(new Dimension(200, 27));
        fxPanel.setSize(new Dimension(300, 300));
        fxPanel.setLOCATIOn(new Point(0, 27));

        frame.getContentPane().setPreferredSize(new Dimension(300, 327));
        frame.pack();
        frame.setResizable(false);

        Platform.runLater(new Runnable() { // this will run initFX as JavaFX-Thread
            @OverrIDe
            public voID run() {
                initFX(fxPanel);
            }
        });
    }

    /* Creates a WebVIEw and fires up Google.com */
    private static voID initFX(final JFXPanel fxPanel) {
        Group group = new Group();
        Scene scene = new Scene(group);
        fxPanel.setScene(scenE);

        WebVIEw webVIEw = new WebVIEw();

        group.getChildren().add(webVIEw);
        webVIEw.setMinSize(300, 300);
        webVIEw.setMaxSize(300, 300);

            // Obtain the webENGIne to navigate
        WebENGIne webENGIne = webVIEw.getENGIne();
        webENGIne.load("http://www.Google.com/");
    }

    /* Start application */
    public static voID main(final String[] args) {
        SwingUtilitIEs.invokelater(new Runnable() {
            @OverrIDe
            public voID run() {
                initAndShowGUI();
            }
        });
    }
}

解决方法

我一直在寻找一种将Web浏览器组件集成到现有的Swing应用程序中的方法,并找到了适用于Java FX
2.0的WebView。此外,我在java.net上找到了一篇博客文章,展示了如何将Java
FX组件集成到Swing应用程序中。所以我想这可能是可行的,但我还没有尝试过。

我很好奇,您认为这是个好方法吗?有更好的解决方案吗?甚至可行吗?可能有预先捆绑好的东西吗?

的动机是: 我想整合一些WebBrowser- 无论@H_772_16@
到现有的Swing应用中,长期目标是摆脱所有整个Java桌面应用程序的,与基于Web的解决方案替换它(该计划是慢慢地将现有方面转换为网页,然后将其显示在WebBrowser-
Component中,直到除了浏览器骨架之外,swing应用程序都没有剩下的东西。后端当然仍然是Java :-)

我还没有尝试过,因为我只是没有时间将JavaFX与我的项目集成在一起(这是一项工作,从长远来看,我们只是在探索替代方案),所以我最好在被烧毁之前先问一下。

大佬总结

以上是大佬教程为你收集整理的将JavaFX 2.0 WebView集成到Swing Java SE 6应用程序中全部内容,希望文章能够帮你解决将JavaFX 2.0 WebView集成到Swing Java SE 6应用程序中所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。