设为首页收藏本站language 语言切换
查看: 1537|回复: 0
收起左侧

Java基础:Swing程序中调用JavaFX代码

[复制链接]
发表于 2010-2-20 15:01:10 | 显示全部楼层 |阅读模式
<p >当我们完成了MyScene类后,可以开始写Java的主程序了,这是个标准的Swing程序中调用JavaFX代码如下:<p ><p ><p >package swingtest;<p ><p >/**<p >* JavaFXToSwingTest.java http://www.javafxblogs.com<p >* @author Henry Zhang<p >*/<p >import java.awt.*;<p >import javax.swing.*;<p >import org.jfxtras.scene.SceneToJComponent;<p ><p >public class JavaFXToSwingTest extends JFrame {<p >public static JTextField tf = new JTextField("JavaFX for SWING");<p ><p >public JavaFXToSwingTest() {<p >setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);<p >setTitle("JavaFX in SWING Test");<p ><p >Container container = getContentPane();<p >container.setLayout(new BorderLayout());<p >String sceneClass = "swingtest.MyScene";<p >JComponent myScene = SceneToJComponent.loadScene(sceneClass);<p >JLabel label = new JLabel(" Below is a JavaFX Animation: ");<p >container.add(label, BorderLayout.NORTH);<p >container.add(myScene, BorderLayout.CENTER);<p ><p >JPanel p = new JPanel();<p >p.setLayout(new FlowLayout());<p ><p >tf.setColumns(28);<p >p.add(tf);<p >p.add(new JButton("SWING Button"));<p ><p >container.add(p, BorderLayout.SOUTH);<p >pack();<p >}<p >public static void main(String args[]) {<p >java.awt.EventQueue.invokeLater(<p >new Runnable() {<p >public void run() {<p >new JavaFXToSwingTest().setVisible(true);<p >}<p >}<p >}<p >} {  java.awt.EventQueue.invokeLater(  new Runnable() {  public void run() {  new JavaFXToSwingTest().setVisible(true);  }  }  }  }<p ><p ><p ><p >对大多数Java/Swing程序员来说,上述代码应该是很容易理解的。我们通过 BorderLayout和FlowLayout在Swing的窗口(JFrame)中布置了一些图形控件。有2行代码是和加载JavaFX的Scene相关的:<p ><p ><p >String sceneClass = "swingtest.MyScene";<p >JComponent myScene = SceneToJComponent.loadScene(sceneClass);<p ><p ><p ><p >其中SceneToJComponent类是从JFXtras项目中来的。它提供了loadScene()的方法,可以把JavaFX的Scene类加载到一个JComponent对象中, 从而可以被Swing程序使用。运行这个程序,你可以看到一行文本“JavaFX for SWING”在窗口中央旋转。如果你在输入框中输入新的句子,你会发现旋转的文字也发生了改变。<p ><p >在Swing程序中调用JavaFX代码是可行的,那么应该怎样编译和运行这样的程序呢。其实,JavaFX的功能也就是一些jar文件,因此和Java的结合方式还是比较简单的。编译的方法主要有两种,一种就是用JavaFX 的编译器Javafxc来编译Java和JavaFX代码。第二种就是用Javafxc编译JavaFX代码,用Javac编译Java代码。以上是Swing程序调用JavaFX代码,希望对大家有所帮助。<p >< align=right></P><p align="center"></p></p>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-5 21:12 , Processed in 0.078687 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表