JavaFX 语法 在正式开始学习JavaFX,让我们浏览一遍该语言的语法要点。如果你非常熟悉Java语言,这些语法的大多数会让你感到非常熟悉,但是有一些会相当不一样。 JavaFX 原始类型 JavaFX 支持原始类型:String (对应于 java.lang.String), Boolean (对应于 java.lang.Boolean), Number (对应于 java.lang.Number) 和 Integer (对应于 byte,short,int,long,BigInteger). JavaFX 变量 一个JavaFX变量使用var关键字声明。看下面的例子: var x:Number = 0.9; var name:String = "John"; var y:Integer = 0; var flag:Boolean = true; var numbers:Number = [1,2,3,4,5]; JavaFX 操作符 众所周知的Java操作符&&, || 和 ! 在JavaFX中采用下面的形式: · Java: && JavaFX: and · Java: ! JavaFX: not JavaFX 方法 JavaFX 支持这些方法. 具有参数、变量声明和返回值的方法举例: function taxes(x) { var t:Number = (19.0/100.0)*x; return t; } JavaFX if 语句
if (条件) { //动作 } else if (条件) { //动作 } else { //动作 } JavaFX while 语句 这个 while 语句同在Java中的while语句相似。 while (条件) { //动作} JavaFX for 语句 for 语句用于循环和间隔(间隔使用方括号[]和 .. 符号表示). //i 将取值: 0, 1, 2, 3, 4, 5象在 (i in [0..5]) { //伴随 i的动作 }代码块中 JavaFX 过程 JavaFX 过程以operation 关键字为标志。一个简单的例子: operation startClock() {do{ while(true) { if(seconds>=360) {seconds = 0; seconds = [0,6..360] dur 60000 linear;} if(minutes>=360) {minutes = 0; minutes = [0,6..360] dur 3600000 linear;} if(hours>=360) {hours = 0; hours = [0,6..360] dur 43200000 linear;} } }} JavaFX 类 JavaFX 类使用class关键字. 一个 JavaFX 类能够使用extends 关键字继承多个类使用逗号分割这些类的名字。在花括号中间你可以放属性、方法和过程,例如下面的例子: class Order { attribute order_nr: String; attribute ordertype: Order inverse Order.products; attribute products: Order* inverse Order.ordertype; function getOrderNr(): String; operation addOrder(order: Order); } 注意属性使用attribute关键字声明,方法体和过程不在类体中,它们单元定义在类声明以后,在下文你很快就能看到。 inverse 子句是一个可选项 ,它表示一种同在类中另一个属性的双向关系。在这个案例中JavaFX将自动完成更新(插入、替代和删除)你能在Java.net上找到更完整的文档。 熟悉JavaFX 在本小节,您将会看到一系列的小例子,这些例子覆盖JavaFX的各种特性和功能。主要目的是让你熟悉JavaFX代码和JavaFX应用程序的逻辑。第二个目标是当你需要开发仅仅需要几行代码就会有非常酷的GUI,动画和好的效果时候使你确信JavaFX值得好好研究一下。所有列出的例子将介绍关于JavaFX的技巧。每一个例子只使用很少的描述处理,所以不要想找到大量的注释。所有这些可访问的例子你都是你自己就能运行的,所以让我们开始吧。当我们需要使用System.out.println 打印属性值时候,你可以把它的名字放进含有引用的字符串,象源码列表2中所示的那样。 源码列表2 //带有应用文本的表达式 import java.lang.System; 结果: 数字是: 10 · ?: 可选的(可能为 null) · +: 1或多个 · *: 0或多个 源码列表3 //变量计数 import java.lang.System; 结果: 数字是: 1 2 7 源码列表 4 //变量类型是可选的 import java.lang.System; 结果: 你必须工作: Monday, Friday, Sunday 源码列表 5 //得到一个数组的大小 import java.lang.System; 结果: 数组大小: 6 您能使用 [] 操作符得到满足指定条件的子数组。条件放在 [] 中作为布尔判断 。这个与XPath 谓词相似. 源码列表 6 //使用[] 操作符 -与 XPath相似 import java.lang.System; 结果: 小于10的数字为: 1 2 7 3 6 4 源码列表 7 //返回指定序数位置的数组中的元素 import java.lang.System; var mynumbers = [1,2,7,3,30,15,14,6,4]; 结果: 数字4: 30 · as first: 在第一个位置插入 · as last:在最后一个位置(默认)插入 · before: 在前一个位置插入 · after:在下一个位置插入 你可以使用 delete 语句从一个数组中删除一个元素. 源码列表8 //插入和删除语句 结果: JavaFX中的一个非常好的功能是list。这个功能使用 select 和 foreach 操作符实现。这有两个例子(一个使用 select 和使用 foreach) 得到指定间隔的奇数。 源码列表9 //JavaFX中的 select 和 foreach 操作符 import java.lang.System; var result = odd(10.0); 结果: Odd numbers: 2.0 4.0 6.0 8.0 10.0 源码列表10 (同 源码列表 9相同, 但是有 foreach) //JavaFX中的select 和 foreach 操作符 import java.lang.System; 这个例子显示了 foreach 对于创建好的效果非常有用。 源码列表11 //JavaFX中的 select 和 foreach 操作符 import java.lang.*; } }
使用双箭头括号引用为JavaFX关键字的变量名或者属性名,如下所示。 源码列表 12 //标志符引用 import java.lang.System; for (<<for>> in [0..3]) { System.out.println("for = {<<for>>}"); } 结果: for = 0 for = 1 for = 2 for = 3 当你需要开发Swing接口时,JavaFX 是一个伟大的工具,因为 JavaFX 考虑了非常多用来降低代码量和同javax.swing.*包并存友好。在上一节(使用NetBeans5.5中的JavaFX插件测试Hello World应用程序),你看到了创建一个窗体是如何容易。这有两个更好的例子:创建按钮和文本框。 源码列表 13 import javafx.ui.*; import java.lang.System; Frame{ content: Button { text: "Exit" action: operation() { System.exit(0); } } visible: true }
源码列表14 import javafx.ui.*; Frame { content: GroupPanel { var myRow = Row { alignment: BASELINE } var label_col = Column { alignment: TRAILING } var field_col = Column { alignment: LEADING } rows: [myRow] columns: [label_col, field_col] content: [SimpleLabel { row: myRow column: label_col text: "Type your text here:" }, TextField { row: myRow column: field_col columns: 50 }] } visible: true };
Java.net 也有使用JavaFx创建 Swing接口的教程 |
【转】JavaFx 语法示例
最新推荐文章于 2022-02-06 22:05:54 发布
http://www2.matrix.org.cn/resource/openjfx_reference/JavaFX_Programming_Language_CN.html
JavaFx 语法示例