JavaFX Script高级特性 - 编程入门网
}
let percent = bind stock.getPercent();
System.out.println(percent);
stock.currentValue = 101;
System.out.println(percent);
上面介绍了 JavaFX Script 语言本身的一些高级特性,下面将以实例的方式讨论 JavaFX Script 开发中的几个重要的主题。 创建复杂用户界面 用过 Swing 的人可能都有个感觉,那就是用 Swing 创建用户界面的时候,不仅编写起来麻烦,代码也比较冗长。使用 JavaFX Script,可以帮助你更快更简单的创建用户界面。 JavaFX Script 简化用户界面的创建的能力主要体现在三个方面: 声明式创建图形用户界面(GUI)组件 程序员可以在代码中以声明的方式编写 GUI 组件,这些 GUI 组件的层次结构就反映了实际的用户界面的布局。声明式的方式大大减少了创建用户界面所需要的代码量。程序员只需要看到代码的组织结构,就可以想象出实际的运行效果。 数据绑定和增量式求值 数据绑定和增量式求值使得组件的创建和配置变得更加容易,应用本身的数据和 GUI 组件可以自动同步。比如在用户界面上有个标签(javafx.ext.swing.Label)用来显示雇员的名字,只需要将标签的 text 属性绑定到雇员数据的 name 属性上。当雇员数据发生变化的时候,该标签会自动更新。 触发器 触发器使得当某个属性的值发生变化的时候,可以执行相应的处理逻辑。这非常类似 Java Bean 中的 PropertyChangeListener 和 PropertyChangeEvent 的组合。但是触发器的创建和使用更加简单。 在 JavaFX Script 中使用 Swing 的 GUI 组件是很容易的。 JavaFX Script 在 javafx.ext.swing 包中提供了很多常用的 Swing 组件的封装。这些组件可以在 JavaFX Script 代码中直接以声明式的方式使用。另外一些复杂的组件,如 JTable 和 JTree,目前在 JavaFX Script 中还不可以直接使用。在这种情况下,需要继承 javafx.ext.swing.Component 类并实现该类的抽象方法 createJComponent()。该方法返回一个 JComponent 对象。 下面以一个具体的实例来说明如何创建复杂用户界面。该应用是一个 RSS 订阅源(Feed)的阅读器,它可以解析 OPML 文件并在左侧以一个树形结构来显示所有的订阅源。当点击某个订阅源时,可以在右侧看到该订阅源的内容。显示所有订阅源的是左侧的 OmplViewer,显示订阅源内容的是右侧的 FeedViewer。该应用的截图见 图 1。 图 1. RSS 订阅源阅读器 由于 RSS 订阅源阅读器的代码比较多,在本文中将只介绍其中的重点,完整的代码请 下载。 JavaFX Script高级特性(4)时间:2011-02-12 IBM 成富继承javafx.ext.swing.Component 在上面提到,一些复杂的 Swing 组件,目前需要通过继承 javafx.ext.swing.Component 的方式来使用。在 RSS 订阅源阅读器中,左侧显示所有订阅源的组件是 JTree。类 OpmlViewer 继承自 javafx.ext.swing.Component,并实现其createJComponent()方法,该方法创建了一个JTree 对象,并包装在一个 JScrollPane 中。该类中的其它代码都与 JTree 对象交互。具体见 代码清单 8。 清单 8. 继承 javafx.ext.swing.Component 示例
触发器的使用 类 OpmlViewer 有一个属性 opmlFilePath 用来表示 OPML 文件的路径。当该属性的值发生改变的时候,OpmlViewer 就需要显示该 OPML 文件中的所有订阅源。这是通过在属性 opmlFilePath 上创建一个触发器来实现的。具体见 代码清单 9。 清单 9. OpmlViewer 中的触发器使用
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |