JavaFX文档(2)什么是JavaFX

来源:互联网 发布:数据库设计经典案例 编辑:程序博客网 时间:2024/04/30 20:35

声明:如需转载,请注明出处:http://blog.csdn.net/originer

原文:http://www.oracle.com/pls/topic/lookup?ctx=javase80&id=JFXST784
本章将告诉你可以用JavaFX来做什么,从哪里能获得它的lib文件以及其关键特性的概要信息。
JavaFX是一个强大图形和多媒体处理工具包集合,它用于开发富客户端程序,有种种牛逼的功能,并且和Java一样跨平台。
  • JavaFX应用程序
  • 可用性
  • 关键特性
  • 应用场景
  • 如何运行样例程序(自行脑补)
  • 如何在IDE中运行样例(自行脑补)
  • 如何创建JavaFX应用程序(自行脑补)
  • 资源(自行脑补)

JavaFX应用程序

毋庸置疑,既然JavaFX用Java写成,那么它自然可以自由地调用各种Java的库了。
JavaFX可以使用CSS定制程序外观,可通过FXML文件来表述图形界面,使之与业务逻辑隔离。并且提供了JavaFX Scene Builder来进行可视化编辑。

可用性

从Java7开始,JavaFX已经集成到JRE和JDK之中,支持Windows、Mac OS X和Linux。JavaFX 8之后的版本提供对ARM平台的支持。去Oracle官网JDK下载页面可以下到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 (AmbientLightPointLight子类),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里跑起来。


返回目录

0 0