Sun早在2007年就推出了JavaFX,作为客户端体验增强的一项特性,在被Oracle收购之后似乎变得可有可无,用户的反馈也一直不温不火。这篇文章中,我们来介绍一下JavaFX的基础特性以及一个简单的例子在IDEA中运行。
JavaFX的目的
JavaFX的FX是什么的缩写的问题,虽然这不重要,但是从其用途和目的来看:
- Fat-Client Extension:传统方式下桌面应用,在Java中则是Swing的天下
- Flash & Flex:JavaFX主要用于创建RIA应用,而这正是Flash的长项。
能不能取代Flash这里不谈,作为技术的更新,替换Swing则还可能是一个可控制的方向。
功能特性
- FXML :JavaFX应用中以XML为基础的用户接口标记语言,在JavaFA应用中体现为.fxml文件
- Scene Builder :可视的布局设计工具,用于给用户提供拖拽方式的界面设计方式。
- Swing Compatibility : 在JavaFX应用中,可以嵌入Swing内容
- CSS Styling: 可以使用CSS对应用进行渲染
- 丰富的API’s:提供丰富的API包括2D和3D图形效果等。
…
架构设计
JavaFX的架构设计构成和关联的组件如上图所示,简单说明如下:
JavaFX Public APIS and Scene Graph:进行整体接口功能与Scene特性的提供
Quantum toolkit:JavaFX高性能图形化引擎
Glass Windowing toolkit:小型而搞笑的视窗化系统