- 浏览: 382012 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
793059909:
scala> def count(x:Double,n: ...
快学Scala习题解答—第二章 控制结构和函数 -
793059909:
scala> def countdown(n:Int){ ...
快学Scala习题解答—第二章 控制结构和函数 -
daquan198163:
可是奇慢无比啊,切换个页签得等一分钟啊!!!!!!!!
误会ZK Studio了!Sorry,Sorry! -
rmn190:
受教了, 今天我第一天遇到这个问题, 以前没想到fmt标签还跟 ...
JSP中的国际化(转) -
suu:
都是栈里的拷贝 这句话让我从一头雾水到豁然开朗 谢谢了.
争论话题:Java传值还是传引用?
很遗憾,JavaFX目前没有发布Linux版本!我使用
http://deadlock.netbeans.org/hudson/job/JavaFX_NB_daily/
的NetBeans日构建的插件(11月24日停止更新了),运行JavaFX1.0的例子程序报错!郁闷,看来只能等Sun放出Linux版本的JavaFX了!还有,JavaFX目前的语法和之前的语法好像有了很大的区别!所以才想到翻译这个文档,计划一天翻译一到两节!
原文地址:http://java.sun.com/javafx/1/tutorials/core/index.html
Lesson 1: Getting Started with JavaFX Script
目录
- Step 1 : 下载并安装JDK
- Step 2 : 选择开发环境
- Step 3 : 下载并安装JavaFX编译器
Step 1: 下载并安装JDK
JavaFX脚本语言是建立在Java平台上的脚本语言,你的机器需要安装JDK5或者JDK6(JDK6在速度方面有提高)。如果你还没有安装,请在开始学习此教程前下载和安装JDK6或者JDK5。
Step 2: 选择开发环境
关于JavaFX开发环境,你有两个选择:使用IDE或者使用文本编辑工具。至于选择哪种开发环境,完全在于个人习惯。但是下面的总结能帮助你做出一个合理的选择。
普遍看法:(不翻译了,反正就是推荐使用IDE,也就是Netbeans了,目前就NetBean有此插件。要不你就用文本编辑工具吧!)
*IDEs present the most commonly used functions as Graphical User Interface (GUI) elements, and offer many useful features, such as automatic code completion. An IDE also gives you immediate feedback on errors and highlights code so that it is easier to understand.
* A text editor provides simplicity and familiarity. Experienced programmers often rely on their text editor of choice, preferring to work in that environment whenever possible (some editors, like vi, have a rich set of built-in keystroke commands that some programmers simply cannot live without!)
The officially supported IDE for the JavaFX Script programming language is NetBeans IDE 6.5. The NetBeans IDE website provides instructions for downloading, installing, and configuring the IDE.
Step 3: 下载并安装JavaFX编译器
你还需要下载和安装JavaFX脚本编译器和运行时环境。一个途径就是下载JavaFX SDK,它除了提供JavaFX编译器,运行时环境还提供了一些其他的工具。
另一个途径就是从openjfx项目的网站上下载最新的编译器二进制文件。编译器是用Java写的,安装方法就是解压缩下载的文件,然后将javafxc和javafx tools添加到你的路径下去。具体的方法在PlanetJFX WiKi上有完整介绍!
最后,如果你想冒险尝试(if you want to live on the bleeding edge)----你可以加入OpenJFX编译器项目,创建你自己的一个拷贝,然后自己编译源码。(如果你选择这个途径,你还需要Apache Ant1.7.0,较新版本的Subversion---写此文章时最新版本是1.5.4)。想获得更多关于从源码创建编译器的信息,请浏览Planet JFX Wiki.
Lesson 2: Writing Scripts
目录
- 编写一个简单的计算器
- 声明变量
- 方法的定义和执行
- 给方法传递参数
- 方法的返回值
- 使用命令行参数
-编写一个简单的计算器
开始之前,你要有一个calculator.fx文件,包含如下代码。
JavaFX脚本语言是编译型语言,就是说所有的源代码在运行前都需要先转化为Java字节码!
下面的命令将会编译calculator脚本:
javafxc calculator.fx
编译完成后, 你会发现相应的Java字节码被生成,并且被放置到了叫做calculator.class的文件里面。你还会发现另一个文件calculator$Intf.class被创建。这个文件是被提供来运行应用的---你可以忽略它,但是不要删除。
现在你可以用下面的命令运行编译后的类了。
javafx calculator
输出:
100 + 2 = 102
100 - 2 = 98
100 * 2 = 200
100 / 2 = 50
这是一个很小的程序,但是它向你展现了JavaFX里面一些很重要的组成部分。学习这些部分是你掌握JavaFX的第一步。
Note:JavaFX语言不难掌握,但是由于你是第一次接触它,我们一次只介绍一部分的知识点以便你能更好的掌握它。我们的宗旨是方法的明了。我们会在后面的章节介绍更高级的用法。
-声明变量
让我们来仔细看一下calculator.fx这个例子---后面我们会扩展这个例子。
第一段代码定义了几个变量:
def numOne = 100;
def numTwo = 2;
var result;
变量可以由var或者def关键字来定义。 两者的区别是var定义的变量可能在程序的执行过程期间有新的值被赋给它,而def定义的变量会一直保留第一次被赋予的值!我们给numOne,numTwo变量赋了值,但没有给result变量赋初值,因为这个变量将会保存我们的计算结果。
变量名一般由字母和数字组成,且不能以数字开头!建议以小写字幕开头,如果变量包含不止一个单词,从第二个单词开始,大写每个单词的第一个字母,如上例所示(numOne)。
Note:你可能注意到了,我们并没有做特别的规定让变量去存储一个数字(对字符串或其他类型的数据也是一样的)。编译器足够的聪明,能够从变量所存储的内容判断出类型。这就是类型猜测.类型猜测使你的工作简单化,像编写脚本语言一样,因为你不需要再定义变量的类型了。
-方法的定义和执行
余下的源代码定义了一些方法,add,subtract,multiply和divide。
方法是一段可执行的代码块,执行特定的任务!在我们的例子中,每个方法执行一个数学计算并打印结果!将执行的代码放置到方法中可以使你的程序更加的易读,易用和除错!方法体被大括号包围,方便辨认方法的开始和结束!
如果不调用方法,方法不会真正的执行!这使得你可以在你程序的任何地方去执行方法!不管方法的定义是在调用的前面还是后面,都没有关系!在我们的例子中,我们在方法定义前就执行了方法!
方法执行代码如下:
add();
subtract();
multiply();
divide();
-给方法传递参数
下面我们将修改calculator代码使其能接受参数!参数是你在执行方法时传递给方法的值!使用这种途径,我们的计算器能运算任意两个数的四则运算,而不是只能运算硬编码给numOne和numTwo的值。
现在的输出为:
100 + 10 = 110
50 - 5 = 45
25 * 4 = 100
500 / 2 = 250
在这一个版本里面我们移除了numOne和numTwo这两个变量,因为不再需要它们了!取而代之的是我们修改了方法的定义,需要传递两个参数给方法。每个参数都有名称,后面跟着一个冒号加类型。当方法接受多个参数的时候,参数之间用逗号隔开。
-方法的返回值
方法可能会有返回值。比如,add方法可以修改为返回计算结果,如下:
add方法现在可以像这样运行:
如果没有返回值需要返回,默认返回Void。
-使用命令行参数
我们可以进一步的修改calculator程序来接受命令行参数。这可以使终端用户在运行时决定需要计算的数值。
这次修改新增了一些新的知识点,最值得注意的就是run()方法。不像其他的方法,run()是一个特殊的方法,是程序的入口点!run()方法会在args变量里面保存所有的命令行参数,以String Sequences的形式保存(Sequences是有序的对象链,很像其他编程语言里面的数组;在后面的章节将详细介绍)。
运行这段代码,现在你必须要设定第一个和第二个参数。
javafx calculator 100 50
输出:
100 + 50 = 150
100 - 50 = 50
100 * 50 = 5000
100 / 50 = 2
Note:在之前的所有版本里面,我们并没有提供run()方法。我们只是输入代码然后它就执行了。默认情况下,编译器会插入一个无参的run()方法,然后在里面放入要执行的代码!
我们重新定义了numOne和numTwo变量,这次是才run()方法内定义的,我们的计算functions需要数字类型的参数,但是命令行参数是字符串,我们在将命令行参数赋给方法前,必须要要将每个命令行参数从String转化为Integer。
我们借助Java语言来完成这个转换。这个简单的脚本语言能直接使用Java语言而获得很强大的功能(Tapping into the existing Java ecosystem as needed brings tremendous power to this otherwise simple scripting language. )
http://deadlock.netbeans.org/hudson/job/JavaFX_NB_daily/
的NetBeans日构建的插件(11月24日停止更新了),运行JavaFX1.0的例子程序报错!郁闷,看来只能等Sun放出Linux版本的JavaFX了!还有,JavaFX目前的语法和之前的语法好像有了很大的区别!所以才想到翻译这个文档,计划一天翻译一到两节!
原文地址:http://java.sun.com/javafx/1/tutorials/core/index.html
Lesson 1: Getting Started with JavaFX Script
目录
- Step 1 : 下载并安装JDK
- Step 2 : 选择开发环境
- Step 3 : 下载并安装JavaFX编译器
Step 1: 下载并安装JDK
JavaFX脚本语言是建立在Java平台上的脚本语言,你的机器需要安装JDK5或者JDK6(JDK6在速度方面有提高)。如果你还没有安装,请在开始学习此教程前下载和安装JDK6或者JDK5。
Step 2: 选择开发环境
关于JavaFX开发环境,你有两个选择:使用IDE或者使用文本编辑工具。至于选择哪种开发环境,完全在于个人习惯。但是下面的总结能帮助你做出一个合理的选择。
普遍看法:(不翻译了,反正就是推荐使用IDE,也就是Netbeans了,目前就NetBean有此插件。要不你就用文本编辑工具吧!)
*IDEs present the most commonly used functions as Graphical User Interface (GUI) elements, and offer many useful features, such as automatic code completion. An IDE also gives you immediate feedback on errors and highlights code so that it is easier to understand.
* A text editor provides simplicity and familiarity. Experienced programmers often rely on their text editor of choice, preferring to work in that environment whenever possible (some editors, like vi, have a rich set of built-in keystroke commands that some programmers simply cannot live without!)
The officially supported IDE for the JavaFX Script programming language is NetBeans IDE 6.5. The NetBeans IDE website provides instructions for downloading, installing, and configuring the IDE.
Step 3: 下载并安装JavaFX编译器
你还需要下载和安装JavaFX脚本编译器和运行时环境。一个途径就是下载JavaFX SDK,它除了提供JavaFX编译器,运行时环境还提供了一些其他的工具。
另一个途径就是从openjfx项目的网站上下载最新的编译器二进制文件。编译器是用Java写的,安装方法就是解压缩下载的文件,然后将javafxc和javafx tools添加到你的路径下去。具体的方法在PlanetJFX WiKi上有完整介绍!
最后,如果你想冒险尝试(if you want to live on the bleeding edge)----你可以加入OpenJFX编译器项目,创建你自己的一个拷贝,然后自己编译源码。(如果你选择这个途径,你还需要Apache Ant1.7.0,较新版本的Subversion---写此文章时最新版本是1.5.4)。想获得更多关于从源码创建编译器的信息,请浏览Planet JFX Wiki.
Lesson 2: Writing Scripts
目录
- 编写一个简单的计算器
- 声明变量
- 方法的定义和执行
- 给方法传递参数
- 方法的返回值
- 使用命令行参数
-编写一个简单的计算器
开始之前,你要有一个calculator.fx文件,包含如下代码。
def numOne = 100; def numTwo = 2; var result; add(); subtract(); multiply(); divide(); function add() { result = numOne + numTwo; println("{numOne} + {numTwo} = {result}"); } function subtract() { result = numOne - numTwo; println("{numOne} - {numTwo} = {result}"); } function multiply() { result = numOne * numTwo; println("{numOne} * {numTwo} = {result}"); } function divide() { result = numOne / numTwo; println("{numOne} / {numTwo} = {result}"); }
JavaFX脚本语言是编译型语言,就是说所有的源代码在运行前都需要先转化为Java字节码!
下面的命令将会编译calculator脚本:
javafxc calculator.fx
编译完成后, 你会发现相应的Java字节码被生成,并且被放置到了叫做calculator.class的文件里面。你还会发现另一个文件calculator$Intf.class被创建。这个文件是被提供来运行应用的---你可以忽略它,但是不要删除。
现在你可以用下面的命令运行编译后的类了。
javafx calculator
输出:
100 + 2 = 102
100 - 2 = 98
100 * 2 = 200
100 / 2 = 50
这是一个很小的程序,但是它向你展现了JavaFX里面一些很重要的组成部分。学习这些部分是你掌握JavaFX的第一步。
Note:JavaFX语言不难掌握,但是由于你是第一次接触它,我们一次只介绍一部分的知识点以便你能更好的掌握它。我们的宗旨是方法的明了。我们会在后面的章节介绍更高级的用法。
-声明变量
让我们来仔细看一下calculator.fx这个例子---后面我们会扩展这个例子。
第一段代码定义了几个变量:
def numOne = 100;
def numTwo = 2;
var result;
变量可以由var或者def关键字来定义。 两者的区别是var定义的变量可能在程序的执行过程期间有新的值被赋给它,而def定义的变量会一直保留第一次被赋予的值!我们给numOne,numTwo变量赋了值,但没有给result变量赋初值,因为这个变量将会保存我们的计算结果。
变量名一般由字母和数字组成,且不能以数字开头!建议以小写字幕开头,如果变量包含不止一个单词,从第二个单词开始,大写每个单词的第一个字母,如上例所示(numOne)。
Note:你可能注意到了,我们并没有做特别的规定让变量去存储一个数字(对字符串或其他类型的数据也是一样的)。编译器足够的聪明,能够从变量所存储的内容判断出类型。这就是类型猜测.类型猜测使你的工作简单化,像编写脚本语言一样,因为你不需要再定义变量的类型了。
-方法的定义和执行
余下的源代码定义了一些方法,add,subtract,multiply和divide。
function add() { result = numOne + numTwo; println("{numOne} + {numTwo} = {result}"); } function subtract() { result = numOne - numTwo; println("{numOne} - {numTwo} = {result}"); } function multiply() { result = numOne * numTwo; println("{numOne} * {numTwo} = {result}"); } function divide() { result = numOne / numTwo; println("{numOne} / {numTwo} = {result}"); }
方法是一段可执行的代码块,执行特定的任务!在我们的例子中,每个方法执行一个数学计算并打印结果!将执行的代码放置到方法中可以使你的程序更加的易读,易用和除错!方法体被大括号包围,方便辨认方法的开始和结束!
如果不调用方法,方法不会真正的执行!这使得你可以在你程序的任何地方去执行方法!不管方法的定义是在调用的前面还是后面,都没有关系!在我们的例子中,我们在方法定义前就执行了方法!
方法执行代码如下:
add();
subtract();
multiply();
divide();
-给方法传递参数
下面我们将修改calculator代码使其能接受参数!参数是你在执行方法时传递给方法的值!使用这种途径,我们的计算器能运算任意两个数的四则运算,而不是只能运算硬编码给numOne和numTwo的值。
var result; add(100,10); subtract(50,5); multiply(25,4); divide(500,2); function add(argOne: Integer, argTwo: Integer) { result = argOne + argTwo; println("{argOne} + {argTwo} = {result}"); } function subtract(argOne: Integer, argTwo: Integer) { result = argOne - argTwo; println("{argOne} - {argTwo} = {result}"); } function multiply(argOne: Integer, argTwo: Integer) { result = argOne * argTwo; println("{argOne} * {argTwo} = {result}"); } function divide(argOne: Integer, argTwo: Integer) { result = argOne / argTwo; println("{argOne} / {argTwo} = {result}"); }
现在的输出为:
100 + 10 = 110
50 - 5 = 45
25 * 4 = 100
500 / 2 = 250
在这一个版本里面我们移除了numOne和numTwo这两个变量,因为不再需要它们了!取而代之的是我们修改了方法的定义,需要传递两个参数给方法。每个参数都有名称,后面跟着一个冒号加类型。当方法接受多个参数的时候,参数之间用逗号隔开。
-方法的返回值
方法可能会有返回值。比如,add方法可以修改为返回计算结果,如下:
function add(argOne: Integer, argTwo: Integer) : Integer { result = argOne + argTwo; println("{argOne} + {argTwo} = {result}"); return result; }
add方法现在可以像这样运行:
var total; total = add(1,300) + add(23,52);
如果没有返回值需要返回,默认返回Void。
-使用命令行参数
我们可以进一步的修改calculator程序来接受命令行参数。这可以使终端用户在运行时决定需要计算的数值。
var result; function run(args : String[]) { // Convert Strings to Integers def numOne = java.lang.Integer.parseInt(args[0]); def numTwo = java.lang.Integer.parseInt(args[1]); // Invoke Functions add(numOne,numTwo); subtract(numOne,numTwo); multiply(numOne,numTwo); divide(numOne,numTwo); } function add(argOne: Integer, argTwo: Integer) { result = argOne + argTwo; println("{argOne} + {argTwo} = {result}"); } function subtract(argOne: Integer, argTwo: Integer) { result = argOne - argTwo; println("{argOne} - {argTwo} = {result}"); } function multiply(argOne: Integer, argTwo: Integer) { result = argOne * argTwo; println("{argOne} * {argTwo} = {result}"); } function divide(argOne: Integer, argTwo: Integer) { result = argOne / argTwo; println("{argOne} / {argTwo} = {result}"); }
这次修改新增了一些新的知识点,最值得注意的就是run()方法。不像其他的方法,run()是一个特殊的方法,是程序的入口点!run()方法会在args变量里面保存所有的命令行参数,以String Sequences的形式保存(Sequences是有序的对象链,很像其他编程语言里面的数组;在后面的章节将详细介绍)。
运行这段代码,现在你必须要设定第一个和第二个参数。
javafx calculator 100 50
输出:
100 + 50 = 150
100 - 50 = 50
100 * 50 = 5000
100 / 50 = 2
Note:在之前的所有版本里面,我们并没有提供run()方法。我们只是输入代码然后它就执行了。默认情况下,编译器会插入一个无参的run()方法,然后在里面放入要执行的代码!
我们重新定义了numOne和numTwo变量,这次是才run()方法内定义的,我们的计算functions需要数字类型的参数,但是命令行参数是字符串,我们在将命令行参数赋给方法前,必须要要将每个命令行参数从String转化为Integer。
// Convert Strings to Integers def numOne = java.lang.Integer.parseInt(args[0]); def numTwo = java.lang.Integer.parseInt(args[1]);
我们借助Java语言来完成这个转换。这个简单的脚本语言能直接使用Java语言而获得很强大的功能(Tapping into the existing Java ecosystem as needed brings tremendous power to this otherwise simple scripting language. )
评论
6 楼
dehuai
2010-04-30
富Internet应用,有中国自己的产品吗?
5 楼
soleares
2009-03-14
thx your share!!!
4 楼
lovefly_zero
2008-12-22
感谢楼主的努力,虽然并不看好JavaFX.
3 楼
hcx
2008-12-20
感谢楼主分享!
2 楼
gml520
2008-12-07
非常感谢您的工作。
1 楼
h819
2008-12-07
好,期待楼主的继续工作
发表评论
-
JavaFX与后台交互
2009-04-05 22:16 9826目前JavaFX相关的资料都是基本语法,以及界面相关。 ... -
Flex使用点滴
2009-03-10 14:30 0学习Grails时,发现Grails可以和Flex集成 ... -
JavaFX GUI------1动画效果
2009-02-24 22:50 5591之前翻译了JavaFX Script,后来一段时间就 ... -
学习JavaFX脚本语言(翻译)pdf下载
2008-12-19 14:35 7154呵呵,JavaEye提供的制作pdf功能真是太好了。 之前比较 ... -
学习JavaFX脚本语言----10,11(完)
2008-12-12 16:30 2650Lesson 10: Packages 目录 - St ... -
学习JavaFX脚本语言----8,9
2008-12-11 18:01 2328Lesson 8: Data Binding and Trig ... -
学习JavaFX脚本语言----6,7
2008-12-10 15:10 2194Lesson 6: Operators 目录: ... -
学习JavaFX脚本语言----5
2008-12-09 20:23 2212Lesson 5: Sequences 目录 - 创建 ... -
学习JavaFX脚本语言----3,4
2008-12-07 16:52 2267Lesson 3: Using Objects 目录 - ... -
JavaFX Demo学习2-----ImageRollover
2008-11-10 22:46 3821今天偷个懒。一个很简单的程序,响应鼠标事件,效果如下。代码在附 ... -
JavaFX Demo学习1-----Clock
2008-11-09 14:25 5862第一个附件是使用JavaFX编写一个Clock的教程,很详细。 ... -
JavaFX学习准备工作
2008-11-08 15:19 2980找了一遍网络,现在最好的JavaFX开发工具应该就是NetBe ... -
NetBeans6.1---新的JavaFX开发体验
2008-11-07 23:56 1786之前看过一点JavaFX,后来就没再关心。这几天看网上 ... -
JavaFX学习笔记
2008-03-13 11:07 27481.JavaFX是一种静态输入的语言 与javascr ... -
Netbeans5.5.1的JavaFX插件好像有问题
2007-12-25 15:00 1444如下语法。。应该没问题的。。 在eclipse下运行成功。。 ...
相关推荐
NULL 博文链接:https://angkor.iteye.com/blog/410382
学习JavaFX脚本语言
java Fx 脚本语言教程的chm文档
学习JavaFX1.2脚本语言,不错的入门级读物。
javafx语言中文教程,内附代码,有助于学习理解!
java富客户端开发技术与应用,javafx是java的一门脚本语言,
借助本文提供的示例应用程序,您可以学习JavaFX脚本编制语言的基础知识,并理解一些基本的UI组件。JavaFXScript是为了便于创建富客户机和Internet应用程序而设计的脚本编制语言。该语言具有高度可移植性,可以在任何...
Graphics2D的坐标系(画布左上角为原点(x=0,y=0),Y轴向下为正值,与JavaFx或Android,JavaScript的Canvas渲染坐标一致 ),渲染接口也都被保存下来,Graphics2D以及Android Canvas的大部分API可以在GLEx这一全局渲染类...
在技术选型上,该项目采用了Java作为主要开发语言,利用了Java的跨平台特性和丰富的类库支持。数据库方面,选择了SQL作为数据存储方案,确保了数据的稳定性和可扩展性。此外,系统还集成了JavaFX技术来实现图形用户...