当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
Swing程序中调用JavaFX代码
发布时间:2010/9/19 10:27:55 来源:城市学习网 编辑:ziteng
  当我们完成了MyScene类后,可以开始写Java的主程序了,这是个标准的Swing程序中调用JavaFX代码如下:
  package swingtest;
  /**
  * JavaFXToSwingTest.java http://www.javafxblogs.com
  * @author Henry Zhang
  */
  import java.awt.*;
  import javax.swing.*;
  import org.jfxtras.scene.SceneToJComponent;
  public class JavaFXToSwingTest extends JFrame {
  public static JTextField tf = new JTextField("JavaFX for SWING");
  public JavaFXToSwingTest() {
  setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  setTitle("JavaFX in SWING Test");
  Container container = getContentPane();
  container.setLayout(new BorderLayout());
  String sceneClass = "swingtest.MyScene";
  JComponent myScene = SceneToJComponent.loadScene(sceneClass);
  JLabel label = new JLabel(" Below is a JavaFX Animation: ");
  container.add(label, BorderLayout.NORTH);
  container.add(myScene, BorderLayout.CENTER);
  JPanel p = new JPanel();
  p.setLayout(new FlowLayout());
  tf.setColumns(28);
  p.add(tf);
  p.add(new JButton("SWING Button"));
  container.add(p, BorderLayout.SOUTH);
  pack();
  }
  public static void main(String args[]) {
  java.awt.EventQueue.invokeLater(
  new Runnable() {
  public void run() {
  new JavaFXToSwingTest().setVisible(true);
  }
  }
  }
  } {  java.awt.EventQueue.invokeLater(  new Runnable() {  public void run() {  new JavaFXToSwingTest().setVisible(true);  }  }  }  }
  对大多数Java/Swing程序员来说,上述代码应该是很容易理解的。我们通过 BorderLayout和FlowLayout在Swing的窗口(JFrame)中布置了一些图形控件。有2行代码是和加载JavaFX的Scene相关的:
  String sceneClass = "swingtest.MyScene";
  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代码,希望对大家有所帮助。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved