温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaFX功能与Swing的关系是什么

发布时间:2021-11-20 17:34:02 来源:亿速云 阅读:437 作者:柒染 栏目:编程语言

今天就跟大家聊聊有关JavaFX功能与Swing的关系是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

JavaFX包含了许多强大的功能,它们都是Java SE不具备的,如图表Charting,动画,媒体播放,RSS/Atom等,于是程序员常常讨论如何在Java中调用JavaFX功能。在Stephen Chin的开源项目JFXtras版本中, 提供了一个JavaFX的封装类,可以在Swing应用中显示JavaFX的图性元素(动画,图表等)。

这是个十分有用的功能,对广大的Java(Swing)开发人员来说是个好消息。JFXtras的源代码中包含了相关的演示程序(SceneToJComponentScene.fx和 SceneToJComponentTest.java)。我把这个程序修改了一下,以便说明问题。

/*  *MyScene.fxhttp://www.javafxblogs.com  *@authorHenryZhang  */   packageswingtest;   importjavafx.scene.Scene;  importjavafx.scene.text.*;  importjavafx.scene.paint.*;  importjavafx.scene.shape.Rectangle;  importjavafx.animation.Timeline;  importjavafx.animation.KeyFrame;   defw=500;  defh=400;   publicclassMySceneextendsScene{  varxx=w/3;  varyy=h/2;  varrotate=0;  vartext="";  vartl=Timeline{  repeatCount:Timeline.INDEFINITE  keyFrames:[  KeyFrame{  time:70ms  action:function(){  text=JavaFXToSwingTest.tf.getText();  rotate=(rotate+5)mod360;  }  }  ]  }   overridevarcontent=[  Rectangle{  width:w,height:h  fill:Color.BLUE  },  Text{  font:Font{  size:24  }  layoutX:bindxx  layoutY:bindyy  rotate:bindrotate  content:bindtext  fill:Color.YELLOW  }  ];   init{tl.play();}  }

1) 在上述程序中,我们用JavaFX的代码去轮询Java的变量值,实际中这会损失比较多的性能,所以我们可以从Java代码中主动把数据变化通知JavaFX。这需要一种从Java调用javafx的技巧,可以参见本人文章:用Java代码调用JavaFX功能。

2) 在Swing程序中调用JavaFX是可行的,那么应该怎样编译和运行这样的程序呢。其实,JavaFX功能也就是一些jar文件,因此和Java的结合方式还是比较简单的。编译的方法主要有两种,一种就是用JavaFX 的编译器javafxc来编译Java和JavaFX的代码。第二种就是用javafxc编译JavaFX代码,用javac编译java代码。运行程序的时候,我们可以选择javafx或java命令即可。

看完上述内容,你们对JavaFX功能与Swing的关系是什么有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI