Java API:JavaFX用Java写成,其API对基于JVM的语言也是友好的,例如JRuby和Scala。 FXML和Scene Builder:FXML基于XML,用于描述用户界面。Scene Builder可以用于所见即所得地创建FXML文件。 WebView:内置了使用WebKitHTML技术的web组件,可用于在JavaFX应
- Java API:JavaFX用Java写成,其API对基于JVM的语言也是友好的,例如JRuby和Scala。
- FXML和Scene Builder:FXML基于XML,用于描述用户界面。Scene Builder可以用于所见即所得地创建FXML文件。
- WebView:内置了使用WebKitHTML技术的web组件,可用于在JavaFX应用程序中嵌入Web页面。在其中运行的页面可以方便地调用JavaAPI,并且JavaAPI可以调用JavaScript。支持附加的HTML5特性,包括Web Socket,Web Worker,Web Font,打印功能。
- 与Swing互操作:现有的Swing程序可以通过JavaFX的新特性升级,例如在Web 内容中嵌入多媒体功能。SwingNode类可以将Swing组件嵌入到JavaFX中。
- 内置的UI控件和CSS:提供了常用控件,包括DatePicker和TreeView,并且可以使用标准的Web技术如CSS来进行美化。
- Modena主题:在JavaFX8中,提供了新的Modena主题来替换原来的Caspian主题。不过在Application的start()方法中,可以通过setUserAgentStylesheet(STYLESHEET_CASPIAN)来继续使用Caspian主题。在fxexperience.com的Modena blog中找到更多信息。
- 3D图像处理能力:在JavaFX8中提供了3D图像处理API,包括
Shape3D
(Box, Cylinder, MeshView, Sphere
子类),SubScene, Material, PickResult, LightBase (AmbientLight
和PointLight
子类),SceneAntialiasing等。Camera类也得到了更新。从JavaDoc中可以找到更多信息。
Canvas API:允许直接在JavaFX场景中直接绘图。
Printing API:javafx.print包提供了打印功能。
Rich Text支持:提供了更为强大的文本支持能力,包括双向文字(例如阿拉伯语)、复杂文字脚本,例如Thai、Hindu文字,并且支持多行、多种风格的文本节点。
多点触摸:提供了多点触摸API。
Hi-DPI支持:提供了Hi-DPI显示支持。
图形渲染硬件加速:JavaFX图像基于图形渲染流水线(Prism)。JavaFX可通过显卡或GPU来提高图像渲染质量和速度。如果GPU不支持对应的图形处理功能,则Prism会使用软件渲染方式来替代。
高性能多媒体引擎:媒体流水线支持对web媒体内容的播放。提供了基于GStreamer多媒体框架的稳定、低延迟多媒体处理框架。
自包含的应用部署模型:自包含应用包总具有应用所需的所有资源、并具有Java和JavaFX运行时的一个私有副本。它们可作为操作系统原生安装包发布,并提供与原生应用相同的安装和运行体验。
应用场景
JavaFX用途广大。例如可用于构建跨平台、具有高性能现代UI、能展现音频、视频、动画的联网应用。
下面展示了JavaFX 8中的的一些样例程序:
JavaFX Ensemble 8
其中包括了一堆样例程序,充分展现了JavaFX的各种特征,包括动画、图表、控件等
Modena
展现Modena主题的Look and feel。3D Viewer
用于展现、测试3D场景。提供了对OBJ和Maya文件的导入器。支持导入Maya的动画。(注意对于Maya文件,在保存时会删除所有的创建历史信息。也支持将场景内容导出为java和FXML。^_^后面的没啥可说的,配置Java环境放到IDE里跑起来。
返回目录