栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将JavaFX 2.0 WebView集成到Swing Java SE 6应用程序中

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将JavaFX 2.0 WebView集成到Swing Java SE 6应用程序中

很有可能!

一个必须安装JavaFX
2.0
,并设法以某种方式将其包含

jfxrt.jar
在Classpath中。

以下代码在Jframe中呈现JFXPanel。JFXPanel包含一个加载的WebView

google.com

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

__我找到的 替代方法
包括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 {        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); }        });    }        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/");    }        public static void main(final String[] args) {        SwingUtilities.invokeLater(new Runnable() { @Override public void run() {     initAndShowGUI(); }        });    }}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/449818.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号