刚学javaFX 有些不明白请高手指点一下。
1,javaFX程序是运行在jvm上面吗?
2,*.fx文件运行前是否会编译成.class文件,或其它文件。
3,如果我写完了一个工程,想要放到其它机子去运行要做哪些工作。
   比如以前一个java工程,如果其它机子有jvm,我只要将.class和相应的.jar文件copy过去就行了。

解决方案 »

  1.   

    LZ真好学,这里估计能解答LZ的问题:http://developers.sun.com.cn/javafx/faqs.jsp
      

  2.   

    其实 用JAVAFX编译出来的东西还是一个class哇  其实跟正规的java是一样的  区别是语言简单
    我这样编译 // place your code here
    import javafx.stage.Stage;
    import javafx.scene.Scene;
    import javafx.scene.paint.LinearGradient;
    import javafx.scene.paint.Stop;
    import javafx.scene.paint.Color;Stage {
        title : "JavaFx Record Button"
        width : 249
        height : 251
        visible : true    scene: Scene {
            fill: LinearGradient {
          startX: 0.0, startY: 0.0, endX: 0.0, endY: 1.0, proportional: true
          stops: [
            Stop {offset: 0.0 color: Color.WHITE},
            Stop {offset: 1.0 color: Color.BLACK}
          ]
          }
          content: [
        //objects that appear on the scene
      ]
        }}
    然后对生产的class文件反编译import com.sun.javafx.runtime.*;
    import com.sun.javafx.runtime.location.*;
    import com.sun.javafx.runtime.sequence.*;
    import javafx.scene.Scene;
    import javafx.scene.paint.*;
    import javafx.stage.Stage;public class FXRecordButton
        implements Intf, FXObject
    {    public static Object javafx$run$(Sequence _$UNUSED$_$ARGS$_)
        {
            javafx.stage.Stage.Intf jfx$5objlit = new Stage(true);
            jfx$5objlit.get$title().setFromLiteral("JavaFx Record Button");
            jfx$5objlit.get$width().setAsDoubleFromLiteral(249D);
            jfx$5objlit.get$height().setAsDoubleFromLiteral(251D);
            jfx$5objlit.get$visible().setAsBooleanFromLiteral(true);
            javafx.scene.Scene.Intf jfx$6objlit = new Scene(true);
            javafx.scene.paint.LinearGradient.Intf jfx$7objlit = new LinearGradient(true);
            jfx$7objlit.get$javafx$scene$paint$LinearGradient$startX().setAsDoubleFromLiteral(0.0D);
            jfx$7objlit.get$javafx$scene$paint$LinearGradient$startY().setAsDoubleFromLiteral(0.0D);
            jfx$7objlit.get$javafx$scene$paint$LinearGradient$endX().setAsDoubleFromLiteral(0.0D);
            jfx$7objlit.get$javafx$scene$paint$LinearGradient$endY().setAsDoubleFromLiteral(1.0D);
            jfx$7objlit.get$javafx$scene$paint$LinearGradient$proportional().setAsBooleanFromLiteral(true);
            SequenceBuilder jfx$8sb = new SequenceBuilder(TypeInfo.getTypeInfo());
            javafx.scene.paint.Stop.Intf jfx$9objlit = new Stop(true);
            jfx$9objlit.get$javafx$scene$paint$Stop$offset().setAsDoubleFromLiteral(0.0D);
            jfx$9objlit.get$javafx$scene$paint$Stop$color().setFromLiteral(Color.$WHITE.get());
            jfx$9objlit.initialize$();
            jfx$8sb.add(jfx$9objlit);
            javafx.scene.paint.Stop.Intf jfx$10objlit = new Stop(true);
            jfx$10objlit.get$javafx$scene$paint$Stop$offset().setAsDoubleFromLiteral(1.0D);
            jfx$10objlit.get$javafx$scene$paint$Stop$color().setFromLiteral(Color.$BLACK.get());
            jfx$10objlit.initialize$();
            jfx$8sb.add(jfx$10objlit);
            jfx$7objlit.get$javafx$scene$paint$LinearGradient$stops().setAsSequenceFromLiteral(jfx$8sb.toSequence());
            jfx$7objlit.initialize$();
            jfx$6objlit.get$fill().setFromLiteral(jfx$7objlit);
            jfx$6objlit.get$content().setAsSequenceFromLiteral(Sequences.emptySequence(javafx/scene/Node$Intf));
            jfx$6objlit.initialize$();
            jfx$5objlit.get$scene().setFromLiteral(jfx$6objlit);
            jfx$5objlit.initialize$();
            return jfx$5objlit;
        }    public void initialize$()
        {
            addTriggers$(this);
            userInit$(this);
            postInit$(this);
            InitHelper.finish(new AbstractVariable[0]);
        }    public static void addTriggers$(Intf intf)
        {
        }    public FXRecordButton()
        {
            this(false);
            initialize$();
        }    public FXRecordButton(boolean dummy)
        {
        }    public static void userInit$(Intf intf)
        {
        }    public static void postInit$(Intf intf)
        {
        }    public static void main(String args[])
            throws Throwable
        {
            Entry.start(FXRecordButton, args);
        }}就是上面这个东西额  总结下JAVAFX是一种简化了的GUI语言
    当然 你也可以用java去写这些 当然需要继承javafx的类
    javafx生成的是class文件 跟java的原理那叫一个一模一样
      

  3.   

    所以1,javaFX程序是运行在jvm上面吗? 
    2,*.fx文件运行前是否会编译成.class文件,或其它文件。 
    3,如果我写完了一个工程,想要放到其它机子去运行要做哪些工作。 
      比如以前一个java工程,如果其它机子有jvm,我只要将.class和相应的.jar文件copy过去就行了。1.  这个肯定的哇
    2.  这个肯定的哇
    3.  这个肯定的哇
      

  4.   

    是不是 javafx 使用的话 一定要更新本机上使用的jdk?.....这样的话现在的工作环境岂不是完蛋了 现在用 1.4 开发