JavaFX是一个强大的图形和多媒体处理工具包集合,它允许开发者来设计、创建、测试、调试和部署富客户端程序,并且和Java一样跨平台。

JavaFX应用程序

由于JavaFX库被写成了Java API,因此JavaFX应用程序代码可以调用各种Java库中的API。例如JavaFX应用程序可以使用Java API库来访问本地系统功能并且连接到基于服务器中间件的应用程序。

JavaFX可以自定义程序外观。层级样式表(CSS)将外观和样式与业务逻辑实现进行了分离,因此开发人员可以专注于编码工作。图形设计师使用CSS来方便地定制程序的外观和样式。如果你具有Web设计背景,或者你希望分离用户界面(UI)和后端逻辑,那么你可以通过FXML脚本语言来表述图形界面并且使用Java代码来表述业务逻辑。如果你希望通过非编码的方式来设计UI,则可以使用JavaFX Scene Builder。在你进行UI设计时,Scene Builder会创建FXML标记,它可以与一个集成开发环境(IDE)对接,这样开发人员可以向其中添加业务逻辑

可用性

JavaFXAPI已经完整地集成到了JRE和JDK之中。由于JDK在所有的主要桌面平台(Windows、Mac OS X和Linux)上都是可用的,使用JDK7及以后版本编译的JavaFX应用程序也可以在所有的主要桌面平台上运行。对ARM平台的支持已经在JavaFX8中可用了。支持ARM的JDK包括JavaFX的基础组件、图形组件和控件组件。

跨平台兼容性使得JavaFX应用的开发人员和用户都可以得到统一的运行时体验。Oracle确保在所有的平台上同步发布和更新,并且为运行关键性应用的公司提供了一个扩展支持程序。

关键特性

下面的特性都被包含在了JavaFX8及以后发布版本中。在JavaFX8中引入的内容包括:

● Java API:JavaFX是一个Java库,包括用Java写成的类和接口。其API对基于JVM的语言也是友好的,例如JRuby和Scala。

● FXML和Scene Builder:FXML是一种基于XML的声明式标记语言,用于描述JavaFX应用程序的用户界面。设计师可以在FXML中编码或者使用JavaFX Scene Builder来交互式地设计图形用户接口(GUI)。Scene Builder所生成的FXML标记可以与IDE对接,这样开发者可以添加业务逻辑。

● WebView:它是一个使用了WebKitHTML技术的Web组件,可用于在JavaFX应用程序中嵌入Web页面。在WebView中运行的JavaScript可以方便地调用JavaAPI,并且JavaAPI也可以调用WebView中的JavaScript。对附加的HTML5特性的支持,包括Web Socket、Web Worker、Web Font、打印功能等都被添加到了JavaFX8中。

● 与Swing互操作:现有的Swing程序可以通过JavaFX的新特性升级,例如多媒体播放和Web 内容嵌入。在JavaFX8中加入了SwingNode类,它可以将Swing内容嵌入到JavaFX程序中。

● 内置的UI控件和CSS:JavaFX提供了开发一个全功能应用程序所需的所有主要控件。这些组件可以使用标准的Web技术如CSS来进行装饰。在JavaFX8中,DatePicker和TreeView UI控件是可用的,并且可以使用标准的Web技术如CSS来进行美化。

● Modena主题:在JavaFX8中,提供了新的Modena主题来替换原来的Caspian主题。不过在Application的start()方法中,可以通过加入setUserAgentStylesheet(STYLESHEET_CASPIAN)代码行来继续使用Caspian主题。在com的Modena blog中找到更多信息。

● 3D图像处理能力:在JavaFX8中的3D图像处理API中加入了一些新的API,包括Shape3D (Box, Cylinder, MeshView和Sphere 子类),SubScene, Material, PickResult, LightBase (AmbientLight 和PointLight子类),SceneAntialiasing等。在本次发布中Camera类API也得到了更新。

● Canvas API:Canvas API允许在由一个图形元素(node)组成的JavaFX场景(Scene)的一个区域中直接绘图。

● Printing API:JavaFX 8中加入了print包并且提供了打印功能公共类。

● Rich Text支持:JavaFX提供了更为强大的文本支持能力,包括双向文字(例如阿拉伯语)、复杂文字脚本,例如Thai、Hindu文字,并且支持多行、多种风格的文本节点。

● 多点触摸:基于底层平台的功能JavaFX提供了对多点触摸的支持。

● Hi-DPI支持:JavaFX 8现在支持Hi-DPI显示。

● 图形渲染硬件加速:JavaFX图像均基于图形渲染流水线(Prism)。JavaFX提供更为平滑的图像并且在显卡或图像处理单元(Graphics processing unit,GPU)支持的情况下通过Prism来获得更快的渲染速度。如果GPU不支持对应的图形处理功能,则Prism会使用软件渲染方式来替代。

● 高性能多媒体引擎:媒体流水线支持对Web媒体内容的播放。它提供了一个基于GStreamer多媒体框架的稳定、低延迟的多媒体处理框架。

● 自包含的应用部署模型:自包含应用包具有应用所需的所有资源、包括一个Java和JavaFX运行时的私有拷贝。它们可作为操作系统原生安装包发布,并提供与原生应用相同的安装和运行体验。

本文链接文档:http://www.javafxchina.net/blog/2015/06/doc01_overview/

(一)初识JavaFX的更多相关文章

  1. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  2. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  3. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  4. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  5. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  6. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  7. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

  8. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  9. Redis初识、设计思想与一些学习资源推荐

    一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...

随机推荐

  1. css3_1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. qt+opencv编译环境的配置

    第一步:安装与配置Qt 从https://account.qt.io/downloads下载Qt,并注册账户.开始安装.首先下载qt-opensource-windows-x86-mingw482_o ...

  3. CentOS7安装后无法使用鼠标选中

    运行命令:yum install gpm*  安装gpm 启动gpm服务:service gpm start 运行systemctl enable gpm.servicere 添加到后台服务. 备注: ...

  4. 问题root@localhost's password:localhost:permission denied,please try again

    转载:https://www.cnblogs.com/hmy-blog/p/6500909.html 经过试验,上述方法在我的电脑中没有成功. 1.安装 open ssh:sudo apt-get i ...

  5. docker下载镜像

    注意:必须先搜索镜像,否则有时候无法下载 Docker下载Redis镜像并运行容器 .搜索查找镜像 docker search redis .下载镜像 docker pull redis:latest ...

  6. nodeslector使用

    问题: node节点挂了一个, 无法切换到另一个node上 解决: .指定了 nodeslector .设置了下面: hostNetwork: true dnsPolicy: ClusterFirst ...

  7. DevOps - 虚拟环境构建工具Vagrant

    1 - Vagrant HomePage: https://www.vagrantup.com/ Download: https://www.vagrantup.com/downloads.html ...

  8. XLSX.js 导出Excel demo

    GitHub:https://github.com/SheetJS/js-xlsx 一个js操作Excel的工具,如下代码,很方便的就将json数据导出为Excel文件. 使用示例: //json 数 ...

  9. 逻辑回归(Logistic Regression)二分类原理及python实现

    本文目录: 1. sigmoid function (logistic function) 2. 逻辑回归二分类模型 3. 神经网络做二分类问题 4. python实现神经网络做二分类问题 1. si ...

  10. Windows Server 2019 SSH Server

    Windows Server 2019 SSH Server   在需要安裝的ws2019开启powershell,执行安装 openssh server 指令 Add-WindowsCapabili ...