现今开发RIA的有 Html5, Flex, Silverlight, JavaFX, 综合比较了一下,Html5还没真正到来,放弃! Silverlight需要学C#,放弃!Flex它自己都放弃自己了。。。那就选JavaFX了,起码还可以复用之前项目的JAVA代码。
JavaFX2是新技术,网上用JavaFX2开发的产品例子很少,国内连一个好点儿的论坛都没有,只能摸着石头过河了。
先把乌龟壳发布的Ensemble程序跑通再说,用e(fx)clipse创建一个JavaFX项目,创建的时候将代码路径指向龟壳的Ensemble源码:
建好之后项目有一些错误,修改Build Path,将不必要的依赖的库都删掉,添加项目lib目录下的两个lucene包。这样编译就通过了:
运行的时候选择Ensemble2入口,会报下面的异常错误:
Caused by: java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at ensemble.SampleHelper.findAllSamples(SampleHelper.java:165)
at ensemble.SampleHelper.getSamples(SampleHelper.java:74)
at ensemble.Pages.parseSamples(Pages.java:66)
at ensemble.Ensemble2.start(Ensemble2.java:299)
原因是没有samplesAll.txt文件,这个文件是代码生成的,在ensemble.search包下,右键选择BuildEnsembleSearchIndex.java文件,运行,即可生成samplesAll.txt文件。
再运行就可以看到Ensemble界面了,Ensemble是个比较好的工程例子,看看其源码很有帮助。