(一)初識JavaFX

JavaFX是一個強大的圖形和多媒體處理工具包集合,它容許開發者來設計、建立、測試、調試和部署富客戶端程序,而且和Java同樣跨平臺。java

JavaFX應用程序

因爲JavaFX庫被寫成了Java API,所以JavaFX應用程序代碼能夠調用各類Java庫中的API。例如JavaFX應用程序可使用Java API庫來訪問本地系統功能而且鏈接到基於服務器中間件的應用程序。node

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中。ui

● 與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/

相關文章
相關標籤/搜索