用JavaFX写用户界面控制器2011-09-09在本文中,我们关心的是BlueBill Mobile类,尤其是管理所有Search Species屏幕之后逻辑的控制器;因此本文有助于你了解JavaFX的语言性能。而且我们会举出一些实例来阐述要介绍的技巧和典型JavaFX结构的陷阱。笔者想应用程序中嵌入了更新的屏播。视频播放要求使用QucikTime。这里的概念是在搜索框中键入查询时,英文函数或科学名称函数会对清单过滤。此外,当这些生效的时候,BlueBill Mobile还可以执行自动完成输入。例如,如果在键入查询的时候你仔细查看视频会发现只输入了"a-r-d-a-c"来选择"Ardea Cinerea";或用于"Pied Avocet"的"p-i-e-< space>-a"。BlueBill Mobile 会自动会剩余部分进行补充因为在某些情况下,不存在其他选择。这是用来改善移动设备性能的重要功能:你可以以较少的输入达到相同目的。按照MVC模式,就非常有必要在单独的控制器中概括这种模式;此外,也很容易对这种模式进行单元测试。首先,让我们看一下代表了分类群的模式类:
package it.tidalwave.bluebillmfx.taxon.model; import java.lang.Comparable; public class Taxon extends Comparable { public-read protected var displayName : String; public-read protected var scientificName : String; public-read protected var id : String; override function compareTo (other : Object) { return displayName.compareTo((other as Taxon).displayName); } override function toString() { return "{displayName} ({scientificName}) ({id})" } } public function displayNameGetter (taxon : Taxon): String { return taxon.displayName; } public function scientificNameGetter (taxon : Taxon): String { return taxon.scientificName; } public def namePropertyGetters = [displayNameGetter, scientificNameGetter];