首页 > 代码库 > JavaFx初探
JavaFx初探
由于项目的须要,实在是没有办法了,试了非常多种方案(RCP,SWT,Flex,Smartinvoke...),终于还是决定開始研究JavaFx。。。为了给用户更好地体验我们的“智能家居”!
下面是近期搜索得到的一些资料:
1.Oracle 上 JavaFx的下载页面:http://www.oracle.com/technetwork/java/javafx/overview/index.html
眼下最新版本号的SDK是2.1 JavaFX 2.1 Developer Preview - Available for Windows, Mac OS X, and Linux.
我的电脑下载的是2.0.3版本号,下载之后解压到一个文件夹就可以,建议解压到和jdk同一个文件夹,这样便于管理嘛
另外,告诉大家一个好消息!Oracle已经提供了一个新的开发工具 JavaFX Scene Builder Developer Preview- Now available for Windows and Mac OS X.
它能够完毕将开发者或者设计者设计的界面转换成FXML文件!Amazing!感谢Oracle!同一时候期望Oracle坚持自己制定的十年Java路线,让Java走得更远!
2.JavaFx开源项目和插件
http://www.oschina.net/search?q=javafx&scope=project
备注:
(1)JavaFX Eclipse Plugin 已经不能够使用了,更新网站没有内容了,所以插件安装不了滴
(2)ExadelJavaFX plug-in for Eclipse 好像已经过时了。。。我在Eclipse中安装了之后,配置JavaFx SDK时却总是不能配置成功
(3)JPedalFX - JavaFX PDF viewer (http://www.jpedal.org/jpedalfx.php) 这个是用JavaFx做的,还不错,仅仅是打开某些PDF文件不行
(4)WidgetFX http://widgetfx.org/portal/home 这个还不错!期望可以在项目中使用!
(5)jfxtras http://code.google.com/p/jfxtras/ JFXtras 是一个 JavaFX 脚本语言的扩展工具包,包括对话框、布局容器、单元測试工具以及异步的处理等。
(6)JavaFX Designer for NetBeans Netbeans的插件,我下载的Netbeans中支持JavaFx2.0,可是官网上好像说过,如今还不支持JavaFx2.0的可视化开发,仅仅支持1.x
3.假设是打算在Netbeans中开发javafx,參考网址: http://netbeans.org/features/javafx/index_zh_CN.html
能够看出Netbeans对JavaFx提供了非常多的支持,算是一个不错的开发JavaFx的IDE
配置好了之后你能够查看一些Javafx的Demo Project,里面有非常多,比如几个小游戏,另一些特效演示,呵呵,有些还是非常不错的!
注意:建议下载推荐的包括JavaFx支持的Netbeans以及包括了Javafx的JDK1.7,然后配置JavaFxSDK(新建一个平台,一定要配置JavaFx SDK,否则没法新建项目)
4.最喜欢的还是 e(fx)clipse,它是 Eclipse 下开发 JavaFx 的插件,可是能够下载完整的包括了该插件的Eclipse,而且是最新的Eclipse 4.2!哈哈哈
官方网址:http://www.efxclipse.org/ 建议去官网看看它的具体说明,太强大太奇妙了!居然能够和非常多其它的技术比如OSGi,RCP等等整合到一起!Amazing!
直接下载 http://www.efxclipse.org/install.html Eclipse 4.2
完了之后再preference->JavaFx中配置SDK位置,就是刚才解压的那个目录!
然后開始吧,看看这里:http://docs.oracle.com/javafx/2.0/get_started/jfxpub-get_started.htm Getting Started with JavaFX
新建一个项目,然后复制演示代码到项目中,执行之,怎么样?非常炫吧!
5.其它资料:
重要网址:
①官网文档: http://docs.oracle.com/javafx/index.html 这里解说了非常多的JavaFx功能,每篇文章都有对应的代码下载,另外文章能够作为pdf文件下载下来,呵呵
重要的几篇文章:
(1)JavaFX Interoperability with SWT
(2)Skinning JavaFX Applications with CSS
(3)Getting Started with FXML
(4)Concurrency in JavaFX
(5)Using JavaFX UI Controls
事实上非常多都是非常重要的!慢慢来,慢慢看吧!哈哈哈,最终看到JavaFx的希望了!也看到了我的希望!嘻嘻嘻
另一个另外一个独立的官方网址:http://www.javafx.com/
②博客:http://blog.csdn.net/yuanyuan110_l/article/category/918866/2 感谢这位博主,他翻译了大量的和JavaFx控件相关的内容,这些内容大部分正是上面的文档
Using JavaFX UI Controls 中的内容,呵呵,英语不好的人也能够学的轻松啦!
③itpub: http://tech.it168.com/zt/javafx/index.html 上面有一些Javafx的介绍
JavaFX应用博客 :http://www.javafxblogs.com/ 里面有不少的教程能够看,嘻嘻嘻
④两个文档,来源于Open 文档,有money的就下吧
http://www.open-open.com/doc/view/5bc4bffbc309462fad3144da89a81fa0
http://www.open-open.com/doc/view/2ecd68a116214646a0e13532a51331f9
6.以下引用一篇博客中对JavaFx2.0的介绍,我认为写得蛮好的
“如今做Web应用开发,提得最多的概念就是RIA,即所谓的富互联网应用程序。 在RIA开发的技术选择中,基本上是两大派别:一个是不依赖插件的开放标准派,依靠Ajax和近期很火热的HTML5,其思想是把浏览器作为唯一的执行 平台;另外一个派别则是插件派,依靠的是浏览器上的插件来支撑RIA应用的执行。插件派里面比較重要的參与者是Adobe的Flex、微软的 Silverlight和Oracle的JavaFX。两种派别的做法各有利弊:在HTML5没有被广泛支持之前,浏览器本身的能力始终有限;而依赖插件 的做法无疑会带来部署相关的问题,普通用户可能会被插件的安装过程折磨得放弃使用这个应用了。从部署的角度来说,Adobe和微软的处境要好得 多:Flash如今基本上是浏览器的标准插件,非常少有浏览器不装的,除了iPhone和iPad上之外。微软有操作系统平台和浏览器的优势。而Oracle的JavaFX则比較尴尬,受限于JRE的部署状况。
JavaFX从它2007年公布以来,表现一直差强人意。Oracle收购了Sun之后,在JavaFX中投入了大量的精力进行推广和更新。JavaFX近期比較出名的应用应该是在2010年温哥华冬奥会上。在调整了JavaFX中的非常多概念,以及又一次设计和实现了非常多重要组件之后,得到的就是如今的JavaFX 2.0。JavaFX 2.0的beta版已经公布,正式版则定于今年第3季度公布。在最早的时候,笔者也研究过JavaFX。只是在当时来说,JavaFX可用的地方并不多。JavaFX 2.0的新特性使得开发者应该须要又一次审视它在RIA开发领域中的位置。在非常多情况下,JavaFX 2.0也会是不错的选择。
JavaFX 2.0的一个最重要的改进是放弃了JavaFX Script。JavaFX Script本来的目的是为开发者提供一种简洁的脚本语言,用于创建RIA应用。可是,JavaFX Script并没有达到它的预期目的。其原因在于JVM之上已经有非常多不错的脚本语言可供使用,JavaFX Script本身的吸引力不大。开发者也不愿意学习新的脚本语言。放弃JavaFX Script之后,JavaFX的功能所有通过Java语言来訪问。这是一种非常明智的做法,能够利用广大的 Java开发人员群体和社区优势,也有利于复用已有的资产。
JavaFX 2.0实现了自己的一套图形用户界面库,不同于Java平台上已有的AWT和Swing。从适用性上来说,AWT和Swing比較适合传统的以内容为主的 交互性较弱的桌面应用。这点从AWT和Swing中包括的组件就能够看得出来,仅仅是一些常见的内容驱动组件,甚至没有图表的支持,仅仅能依靠JFreeChart这 样的第三方库。假设须要创建内容丰富的界面,则须要利用Java 2D和Java 3D API来自行绘制。对多媒体的支持也不够有限。JavaFX 2.0新的图形用户界面库把基本图形元素和用户界面组件两类元素统一在一起。无论是矩形、椭圆、button还是表格,都是用户界面上的节点,能够用相似的方式来 处理。JavaFX 2.0在JVM之上,实现了新的类似AWT的窗体工具箱Glass Windowing Toolkit,能够直接利用操作系统的原生事件队列。从此再也不须要小心注意AWT和Swing中事件分发线程的使用问题了。 JavaFX 2.0中的图形渲染引擎Prism能够借助底层操作系统上的DirectX和OpenGL提供的硬件加速支持,因此性能优于传统的使用Java 2D进行软件渲染的做法。在用户界面组件方面,除了主要的经常使用组件之外,还提供了图表绘制的支持。在多媒体支持方面,除了主要的图片之外,JavaFX 2.0的媒体引擎支持MP3、AIFF和WAV等音频格式和FLV视频格式。
在组件的外观方面,JavaFX 2.0也採用了更加流行的做法,即用CSS来定义应用的外观。另外,JavaFX 2.0也引入了界面描写叙述语言FXML。FXML在功能上类似微软的XAML,是一种用户界面描写叙述语言。FXML+CSS+Java这种组合,颇有些Web应用开发中HTML+CSS+JavaScript组合的味道。
值 得重点介绍的是JavaFX 2.0中的Web引擎组件。这是一个基于Webkit内核的内嵌浏览器。在JavaFX应用中能够訪问内嵌浏览器中网页的DOM结构和执行 JavaScript代码。基于Webkit意味着这个内嵌浏览器支持HTML5的新特性。这个内嵌浏览器能够在非常多场景下都得到应用,比方Web应用的 自己主动化測试。第二种使用方法是把内嵌浏览器作为Web应用执行时刻的环境,以一种Java+HTML的方式来呈现。
JavaFX 2.0至少把Java平台变成了一个开发富client应用(RCP)的良好平台。在以后的开发中,AWT和Swing应该会逐渐淡出桌面应用开发的视野。 JavaFX将成为Java平台上主流的图形用户界面开发库。而在RIA方面,JavaFX的前景仍无法预料。毕竟,依赖插件的RIA开发方式都受到来自 HTML5的巨大冲击,JavaFX自然也不例外。JavaFX能发挥作用的一个地方应该是在企业内部系统中。对于企业内部的系统,部署上的问题比較好解 决,同一时候也有利于复用内部的Java相关的资产。”