什么是 JavaFX ?JavaFX 包含了一些列圖形和媒體包,允許程序員設(shè)計(jì)、創(chuàng)建、測(cè)試、調(diào)試、和部署富客戶端應(yīng)用并且保持跨平臺(tái)的操作一致性。
JavaFX 應(yīng)用程序JavaFX 應(yīng)用程序由 Java API 編寫,可以調(diào)用任何 Java API 包。例如,可以調(diào)用 Java API 訪問本地操作系統(tǒng),并且與服務(wù)器進(jìn)行連接。JavaFX 的外觀可以自定義。層疊樣式表(CSS)將應(yīng)用的外觀與功能分離,讓程序員可以更專注于編碼。美工可以簡(jiǎn)單地通過 CSS 來自定義應(yīng)用程序的外觀。如果你有 Web 設(shè)計(jì)的背景,或者你想將 UI 和后臺(tái)邏輯分離,那么你還可以將 UI 放入到 FXML 標(biāo)記語言中,用 Java 編寫業(yè)務(wù)邏輯。如果你只想編碼,那么可以將編寫 UI 的工作交給 JavaFX Scene Builder。在支持 JavaFX 的集成開發(fā)環(huán)境(IDE)中,可以使用 JavaFX Scene Builder 來編寫 FXML 標(biāo)記語言??捎眯詮?JavaFX 2.2 以后,JavaFX 已經(jīng)集成在 JRE 7 和 JDK 7 以及以后的 Java 版本中了。因?yàn)?JDK 可以很好地運(yùn)行在主流桌面系統(tǒng)上(Windows, Mac OS X, and Linux),因此 JavaFX 也可以運(yùn)行在這些主流的桌面系統(tǒng)上。跨平臺(tái)兼容性,可以讓 JavaFX 的開發(fā)者和用戶得到一致的體驗(yàn)。在 JDK 的下載頁面,可以獲取 JavaFX 例子的 Zip 包。這些例子應(yīng)用程序提供了很多代碼來演示如何使用 JavaFX。主要特性JavaFX 2.2 和之后的版本都包含以下主要特性:Java APIJavaFX 是一個(gè) Java 包,由 Java 類和 Java 接口等原始的 Java 代碼編寫而成。這些 API 在設(shè)計(jì)上可以很友好的替代為 Java VM 語言,例如 JRuby 或 Scala。FXML and Scene BuilderFXML 是基于 XML 的標(biāo)記語言,用來創(chuàng)建 JavaFX UI。設(shè)計(jì)者可以直接編寫 FXML 或者使用 IDE 的 Scence Builder 來編寫 FXML。WebViewWeb 組件可以使用 WebKitHTML 技術(shù)將 Web 頁面嵌入到 JavaFX 應(yīng)用程序中。在 WebView 中運(yùn)行的 JavaScript 可以調(diào)用 Java API,并且 Java API 也可以調(diào)用 WebView 中運(yùn)行的 JavaScript。Swing 集成舊有的 Swing 應(yīng)用程序可以更行 JavaFX 的新特性,比如豐富的圖形媒體播放功能和嵌入 Web 頁面的功能。豐富的自有控件和CSSJavaFX 提供了桌面應(yīng)用程序需要用到的主要控件。并且控件的外觀可以使用標(biāo)準(zhǔn)的 Web CSS 來進(jìn)行控制。畫布(Canvas)APICanvas API 允許在可以包含一個(gè)作圖元素的 JavaFX scene 直接繪制圖形。支持多點(diǎn)觸控基于平臺(tái)的底層能力,JavaFX 支持多點(diǎn)觸控功能。硬件加速的圖形通道JavaFX 圖形渲染基于 Prism。如果使用了支持 Prism 的顯卡或 GPU,JavaFX 可以很快的進(jìn)行平滑渲染。如果系統(tǒng)不支持 Prism,那么默認(rèn)值將會(huì)變?yōu)?Java 2D。高性能的媒體引擎媒體通道支持 Web 多媒體內(nèi)容的播放,基于 GStreamer 媒體框架,提供了穩(wěn)定的、低延遲的媒體播放框架。自包含的應(yīng)用程序部署模式自包含的應(yīng)用程序,可以包含所有的應(yīng)用程序資源、Java 運(yùn)行時(shí)以及 JavaFX 運(yùn)行時(shí)。應(yīng)用程序發(fā)布后,可以在操作系統(tǒng)本地安裝,獲得操作系統(tǒng)一致的安裝和加載體驗(yàn)。