快速业务通道

深入学习JavaFX脚本语言(面向Swing程序员) ---(上) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
     },         Label {           text: bind "Number of button clicks: {model.numClicks}"         }]       }       visible: true     }

深入学习JavaFX脚本语言(面向Swing程序员) ---(上)(6)

时间:2011-04-19

在程序执行后,按下ALT+F组合键将出现如下情形:

正如你所见,我们通过将一个MenuBar类赋值到窗口的menubar属性建立了一个菜单条。你可以通过增加menubar的menus来为menubar增加menu。在本例中,我们只添加了一个menu,但任何能够返回Menu对象列表的表达式都能够在这里使用。

为了定义菜单,需要赋值menu的text、mnemonic、items的属性值。

正如你所认为的那样,text属性的类型是String。 mnemonic属性却是KeyStroke类型的。它的值F是KeyStroke类的一个枚举值。在JavaFX的属性初始化程序上下文中,该属性的静态类(和在Java类中的静态字段相似)的枚举值能够在没有类型名限制的情况下被访问(而在别处,你不得不把F写为F:KeyStroke)。

这里唯一的菜单项是一个MenuItem类实例,它具有值为"Exit"的text属性和值为X的mnemonic属性。而它的accelerator属性也被赋值了。注意:在声明中的类型名Accelerator被省略了。这在JavaFX中是允许的。如果类型名没有提供,该属性的静态类型将被使用,在本例中accelerator属性的静态类型是Accelerator。另外,accelerator的modifier和keyStroke属性都使用枚举值进行了初始化。

最后,MenuItem的action属性是function类型的(即指它的值为function,而非对象)。在本例中,action属性是一个内联(inline)的operation,它调用了一些Java代码。

Label(标签)

JavaFX的Label class支持HTML内容。通过使用Label,你可以利用HTML和CSS建立风格化文本(styled text)和图片,它非常类似编写典型的Web应用。另外,通过使用JavaFX内嵌表达式,你能够在Swing应用中建立动态HTML内容,这就像在编写Web页面时使用JSTL或者Velocity等工具一样容易。

请阅读下面的购物卡示例:

class Item {       attribute id: String;       attribute productId: String;       attribute description: String;       attribute inStock: Boolean;       attribute quantity: Number;       attribute listPrice: Number;       attribute totalCost: Number;     }     attribute Item.totalCost = bind quantity*listPrice;     class Cart {       attribute items: Item*;       attribute subTotal: Number;     }     operation sumItems(itemList:Item*) {       var result = 0.00;       for (item in itemList) {         result += item.totalCost;       }       return result;     }     attribute Cart.subTotal = bind sumItems(items);     var cart = Cart {       items:       [Item {         id: "UGLY"         productId: "D100"         description: "BullDog"         inStock: true         quantity: 1         listPrice: 97.50       },       Item {         id: "BITES"         productId: "D101"         description: "Pit Bull"         inStock: true         quantity: 1         listPrice: 127.50       }]     };     Frame {    

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号