(一)初識JavaFX


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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM