http://cnjavafx.cn/javafx/index.html
从Hello World开始
首先,我们需要去下载一份最新的JavaFxSDK。请访问这里http://www.javafx.com,建议下载JavaFX Preview SDK without NetBeans IDE,不要在Netbeans里面学习JavaFx,一个太方便的IDE会阻碍你的学习,熟练之后再使用IDE好了。
我们来看一下附件src目录下,helloworld.fx的内容。这段脚本所作的,就是向世界问好。
package example;
import java.lang.System;
//---------------------------------------
// say "hello world!" on console
//---------------------------------------
System.out.println("Hello World!");
//---------------------------------------
// gui say hello
//---------------------------------------
import javafx.ext.swing.*;
SwingFrame {
title: "Simple (JavaFX demo)"
width: 228
height: 98
content: Label {
text:"Hello World!"
}
visible:true
}
下面,我们来把这段简单的代码运行起来。我们选择在控制台命令行的方式来进行讲解,熟练运用之后再去用IDE。个人经验,这样的学习效果比较好,避免代码向导,自动工具的干扰。
首先,启动控制台,开始->运行->cmd,设置环境变量PATH
环境变量设置正确之后,就可以在命令行上运行javafx命令了,看看JavaFx的提示信息,看到了什么?细心一点的朋友一定已经发现了,JavaFx的命令行跟Java是一模一样的,在我得到的这个PreviewSDK里面,SUN的大哥们甚至连提示信息里面的名字都没有改。所以,我们差不多可以这么认为JavaFx是增加了几个类库的Java,是Java语言的一个补充。
好,现在我们编译运行起来。
接下来,我们稍微解释一下代码,尽管SUN已经把脚本设计得十分易读了。JavaFx的代码跟Java不太一样的地方,就是从头到尾逐条运行,不像Java一样从main入口开始执行。
import java.lang.System,这个import跟Java下面的import是一样的,这里是引入了一个Java下面的默认package,java.lang。然后在接下来的脚本里面,调用System.out.println。这跟Java代码几乎一样了。从这里我们可以看到JavaFx平滑访问Java平台的功能。
然后引入了javafx.ext.swing.*包,这个包是JavaFx所特有的,接下来我们将要看到一些长得比较JavaFx的代码。
我们看SwingFrame {...},这段看起来像类定义的代码,新创建了一个SwingFrame实例, {...}中的是对SwingFrame属性进行初始化,比如这里指定了高度,宽度,标题栏,设置为可见,创建了一个Label,文本为"Hello World!",作为SwingFrame的显示内容。
JavaFx大体上是继承了Java的语法:语句后面可选';'作为结尾,在不混淆的时候,可以省略;创建实例用"类名{...}"的格式,实例的属性初始化用':'分隔。