Home  >  Article  >  Database  >  JavaFX文档(2)什么是JavaFX

JavaFX文档(2)什么是JavaFX

WBOY
WBOYOriginal
2016-06-07 15:43:491609browse

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 (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的各种特征,包括动画、图表、控件等

JavaFX文档(2)什么是JavaFX

Modena

展现Modena主题的Look and feel。
JavaFX文档(2)什么是JavaFX

3D Viewer

用于展现、测试3D场景。提供了对OBJ和Maya文件的导入器。支持导入Maya的动画。(注意对于Maya文件,在保存时会删除所有的创建历史信息。也支持将场景内容导出为java和FXML。
JavaFX文档(2)什么是JavaFX

^_^后面的没啥可说的,配置Java环境放到IDE里跑起来。


返回目录

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn