快速业务通道

JavaFX Script高级特性 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19

JavaFX Script高级特性

时间:2011-02-12 IBM 成富

JavaFX 是 Sun 推出的一套基于 Java 技术的产品家族。 JavaFX Script 可以用来高效的创建富媒体和交互性很强的应用。 JavaFX 是 Adobe Flex 和 Microsoft Silverlight 的有力竞争者。本文通过具体的实例介绍了 JavaFX Script 语言本身的一些高级特性并讨论了 JavaFX Script 中的一些高级话题,包括创建复杂的用户界面、实现动画效果、JavaFX Script 应用的部署和在一个独立的 Java 应用程序中嵌入 JavaFX Script 等。

JavaFX Script 语言简介

JavaFX 是 Sun 推出的一套基于 Java 技术的产品家族,其目的是为从桌面机、移动设备、机顶盒到蓝光光盘等提供一致的用户体验。 JavaFX 目前包含 JavaFX Script 和 JavaFX Mobile 。 JavaFX Script 可以用来高效的创建富媒体和交互性很强的应用。 JavaFX 是 Adobe Flex 和 Microsoft Silverlight 的有力竞争者。本文通过具体的例子介绍了 JavaFX Script 语言本身的一些高级特性。这些特性包括块表达式、范围(Range)表达式、序列的修改、触发器(Trigger)和数据绑定。另外还结合具体的应用,讨论了 JavaFX Script 中的一些高级话题,包括创建复杂的用户界面、实现动画效果、JavaFX Script 应用的部署和在一个独立的 Java 应用程序中嵌入 JavaFX Script 等。

目前 JavaFX Script 语言本身在不断的变化之中,本文中对 JavaFX Script 语法的说明和实例,均基于 JavaFX Script 在 2008 年 7 月 21 号的版本。开发环境采用 NetBeans 6.1,并安装 JavaFX Script 插件。请从 参考资源 中下载相关的工具。

JavaFX Script 高级特性

下面具体介绍 JavaFX Script 语言的一些高级特性。

块表达式

JavaFX Script 中的块表达式是包含在 {} 中的一系列用分号分隔的语句。如果块表达式中的最后一个语句是表达式的话,那么这个块表达式的值就是最后这个表达式的值;否则该块表达式的值是 Void 类型。块表达式适合于那些在代码中只出现一次的计算逻辑。因为只出现一次,可以不用把这样的逻辑封装在一个 function 中。而块表达式又可以把这部分逻辑的代码与其它部分区别开来。在 代码清单 1 中,对于薪水的计算逻辑被封装在一个块表达式中。

清单 1. 块表达式示例

var baseSalary = 10000; var salary = {   12 * (baseSalary + 1000) + 2 * baseSalary }; System.out.println(salary);

范围表达式

熟悉其他动态语言,如 Python、Ruby 和 Groovy 的人对于范围(Range)表达式可能并不陌生。 JavaFX Script 也引入了同样的范围表达式,可以用来定义一个序列。不过在使用方式与其他语言有些不同。

在 JavaFX Script 中可以通过 [number1..number2] 来定义一个序列。这里需要注意的是两个边界数字 number1 和 number2 都是包含在序列里面的。如 [0..5] 包含 0,1,2,3,4,5 这六个数字。这点和 Ruby 里面的 number1...number2 和 Groovy 里面的 number1..number2 是一样的。默认情况下,范围中的数字之间的间隔是 1,可以通过在 number2 后面加上显式的 step 来声明间隔。比如 [0..9 step 3] 包含的数字是 0,3,6,9 。

当 number1 大于 number2 的时候,可以通过指定值为负数的 step 来生成降序排列的序列。如 [5..0 step -1] 包含的数字是 5,4,3,2,1,0 ;如果不指定 step,或是 step 的值为正数的话,生成的序列实际上是空的。如 [5..0] 是个空的序列。

序列的修改

JavaFX Script 提供了两个强大的操作符 insert 和 delete 来对序列进行操作。

insert 语句的语法如 代码清单 2 中所示。

清单 2. insert 语句的语法

insert x into seq insert x before seq[idx] insert x after seq[idx]

从 代码清单 2 列出的语法中可以看到,inse

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号