JavaFX文档(2)什么是JavaFX
程序员文章站
2022-04-21 11:44:24
...
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里跑起来。
返回目录
推荐阅读
-
小明没有喝酒却被查出酒驾他很可能是刚喝完什么 蚂蚁庄园小课堂12月2日答案
-
hashmap 为什么初始化容量是2的幂次方
-
做什么网站赚钱?建站2个月净赚10万元是怎么做到的?
-
2.什么是ASP.NET MVC?
-
Linux 操作系统的权限为什么是1,2,4 而不是 1,2,3?如何用二进制来做权限管理
-
为什么 echo 3 . print(2) . print(4) . 5 . 'c'的结果是45c2131
-
分布式事务之深入理解什么是2PC、3PC及TCC协议?
-
什么是DOM(Document Object Model)文档对象模型
-
知道为什么2月14日是情人节吗?
-
html5的文档申明为什么是?