大佬教程收集整理的这篇文章主要介绍了将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,请注明来意。