Swing程序中调用JavaFX代码
创始人
2024-04-15 02:51:19
0

当我们完成了MyScene类后,可以开始写Java的主程序了,这是个标准的Swing程序中调用JavaFX代码如下:

  1. package swingtest;  
  2.    
  3. /**   
  4. * JavaFXToSwingTest.java http://www.javafxblogs.com   
  5. * @author Henry Zhang   
  6. */  
  7. import java.awt.*;  
  8. import javax.swing.*;  
  9. import org.jfxtras.scene.SceneToJComponent;  
  10.    
  11. public class JavaFXToSwingTest extends JFrame {   
  12. public static JTextField tf = new JTextField("JavaFX for SWING");  
  13.    
  14. public JavaFXToSwingTest() {  
  15. setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);  
  16. setTitle("JavaFX in SWING Test");  
  17.    
  18. Container container = getContentPane();  
  19. container.setLayout(new BorderLayout());   
  20. String sceneClass = "swingtest.MyScene";  
  21. JComponent myScene = SceneToJComponent.loadScene(sceneClass);  
  22. JLabel label = new JLabel(" Below is a JavaFX Animation: ");  
  23. container.add(label, BorderLayout.NORTH);  
  24. container.add(myScene, BorderLayout.CENTER);  
  25.  
  26. JPanel p = new JPanel();  
  27. p.setLayout(new FlowLayout());  
  28.    
  29. tf.setColumns(28);  
  30. p.add(tf);  
  31. p.add(new JButton("SWING Button"));  
  32.    
  33. container.add(p, BorderLayout.SOUTH);  
  34. pack();  
  35. }  
  36. public static void main(String args[]) {  
  37. java.awt.EventQueue.invokeLater(  
  38. new Runnable() {  
  39. public void run() {  
  40. new JavaFXToSwingTest().setVisible(true);  
  41. }  
  42. }  
  43. }  

对大多数Java/Swing程序员来说,上述代码应该是很容易理解的。我们通过 BorderLayout和FlowLayout在Swing的窗口(JFrame)中布置了一些图形控件。有2行代码是和加载JavaFX的Scene相关的:

  1. String sceneClass = "swingtest.MyScene";    
  2. JComponent myScene = SceneToJComponent.loadScene(sceneClass);  

其中SceneToJComponent类是从JFXtras项目中来的。它提供了loadScene()的方法,可以把JavaFX的Scene类加载到一个JComponent对象中, 从而可以被Swing程序使用。运行这个程序,你可以看到一行文本”JavaFX for SWING”在窗口中央旋转。如果你在输入框中输入新的句子,你会发现旋转的文字也发生了改变。

在Swing程序中调用JavaFX代码是可行的,那么应该怎样编译和运行这样的程序呢。其实,JavaFX的功能也就是一些jar文件,因此和Java的结合方式还是比较简单的。编译的方法主要有两种,一种就是用JavaFX 的编译器Javafxc来编译Java和JavaFX代码。第二种就是用Javafxc编译JavaFX代码,用Javac编译Java代码。以上是Swing程序调用JavaFX代码,希望对大家有所帮助。

【编辑推荐】

  1. 概述Swing大多数控件
  2. GUI程序与Swing中的线程
  3. 浅析Swing.SWT和AWT的区别
  4. AWT和Swing的区别
  5. 浅谈Swing中提供了JOptionPane

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...