您好,登錄后才能下訂單哦!
本篇內(nèi)容介紹了“JavaFX有哪些特點(diǎn)”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
JavaFX是一個(gè)強(qiáng)大的圖形和多媒體處理工具包集合,它允許開(kāi)發(fā)者來(lái)設(shè)計(jì)、創(chuàng)建、測(cè)試、調(diào)試和部署富客戶端程序,并且和Java一樣跨平臺(tái)。
由于JavaFX庫(kù)被寫(xiě)成了Java API,因此JavaFX應(yīng)用程序代碼可以調(diào)用各種Java庫(kù)中的API。例如JavaFX應(yīng)用程序可以使用Java API庫(kù)來(lái)訪問(wèn)本地系統(tǒng)功能并且連接到基于服務(wù)器中間件的應(yīng)用程序。
JavaFX可以自定義程序外觀。層級(jí)樣式表(CSS)將外觀和樣式與業(yè)務(wù)邏輯實(shí)現(xiàn)進(jìn)行了分離,因此開(kāi)發(fā)人員可以專注于編碼工作。圖形設(shè)計(jì)師使用CSS來(lái)方便地定制程序的外觀和樣式。如果你具有Web設(shè)計(jì)背景,或者你希望分離用戶界面(UI)和后端邏輯,那么你可以通過(guò)FXML腳本語(yǔ)言來(lái)表述圖形界面并且使用Java代碼來(lái)表述業(yè)務(wù)邏輯。如果你希望通過(guò)非編碼的方式來(lái)設(shè)計(jì)UI,則可以使用JavaFX Scene Builder。在你進(jìn)行UI設(shè)計(jì)時(shí),Scene Builder會(huì)創(chuàng)建FXML標(biāo)記,它可以與一個(gè)集成開(kāi)發(fā)環(huán)境(IDE)對(duì)接,這樣開(kāi)發(fā)人員可以向其中添加業(yè)務(wù)邏輯。
JavaFXAPI已經(jīng)完整地集成到了JRE和JDK之中。由于JDK在所有的主要桌面平臺(tái)(Windows、Mac OS X和Linux)上都是可用的,使用JDK7及以后版本編譯的JavaFX應(yīng)用程序也可以在所有的主要桌面平臺(tái)上運(yùn)行。對(duì)ARM平臺(tái)的支持已經(jīng)在JavaFX8中可用了。支持ARM的JDK包括JavaFX的基礎(chǔ)組件、圖形組件和控件組件。
跨平臺(tái)兼容性使得JavaFX應(yīng)用的開(kāi)發(fā)人員和用戶都可以得到統(tǒng)一的運(yùn)行時(shí)體驗(yàn)。Oracle確保在所有的平臺(tái)上同步發(fā)布和更新,并且為運(yùn)行關(guān)鍵性應(yīng)用的公司提供了一個(gè)擴(kuò)展支持程序。
在JDK下載頁(yè)面中,你可以下到JavaFX樣例代碼的zip文件。樣例應(yīng)用程序提供了很多樣例代碼和代碼片段來(lái)舉例說(shuō)明如何編寫(xiě)JavaFX應(yīng)用程序。 #關(guān)鍵特性 下面的特性都被包含在了JavaFX8及以后發(fā)布版本中。在JavaFX8中引入的內(nèi)容包括:
● Java API:JavaFX是一個(gè)Java庫(kù),包括用Java寫(xiě)成的類和接口。其API對(duì)基于JVM的語(yǔ)言也是友好的,例如JRuby和Scala。
● FXML和Scene Builder:FXML是一種基于XML的聲明式標(biāo)記語(yǔ)言,用于描述JavaFX應(yīng)用程序的用戶界面。設(shè)計(jì)師可以在FXML中編碼或者使用JavaFX Scene Builder來(lái)交互式地設(shè)計(jì)圖形用戶接口(GUI)。Scene Builder所生成的FXML標(biāo)記可以與IDE對(duì)接,這樣開(kāi)發(fā)者可以添加業(yè)務(wù)邏輯。
● WebView:它是一個(gè)使用了WebKitHTML技術(shù)的Web組件,可用于在JavaFX應(yīng)用程序中嵌入Web頁(yè)面。在WebView中運(yùn)行的JavaScript可以方便地調(diào)用JavaAPI,并且JavaAPI也可以調(diào)用WebView中的JavaScript。對(duì)附加的HTML5特性的支持,包括Web Socket、Web Worker、Web Font、打印功能等都被添加到了JavaFX8中。參考《增加HTML內(nèi)容到JavaFX應(yīng)用程序中(Adding HTML Content to JavaFX Applications)》章節(jié)來(lái)了解更多信息。
● 與Swing互操作:現(xiàn)有的Swing程序可以通過(guò)JavaFX的新特性升級(jí),例如多媒體播放和Web 內(nèi)容嵌入。在JavaFX8中加入了SwingNode類,它可以將Swing內(nèi)容嵌入到JavaFX程序中。參考SwingNode API Javadoc和《在JavaFX應(yīng)用程序中嵌入Swing 內(nèi)容(Embedding Swing Content in JavaFX Applications)》章節(jié)來(lái)了解更多信息。
● 內(nèi)置的UI控件和CSS:JavaFX提供了開(kāi)發(fā)一個(gè)全功能應(yīng)用程序所需的所有主要控件。這些組件可以使用標(biāo)準(zhǔn)的Web技術(shù)如CSS來(lái)進(jìn)行裝飾。在JavaFX8中,DatePicker和TreeView UI控件是可用的,并且可以使用標(biāo)準(zhǔn)的Web技術(shù)如CSS來(lái)進(jìn)行美化。參考《使用JavaFX UI控件(Using JavaFX UI Controls)》章節(jié)來(lái)了解更多信息。另外CSS樣式控制類都變成了公開(kāi)API,它們可以使用CSS來(lái)為對(duì)象增加樣式。
● Modena主題:在JavaFX8中,提供了新的Modena主題來(lái)替換原來(lái)的Caspian主題。不過(guò)在Application的start()方法中,可以通過(guò)加入setUserAgentStylesheet(STYLESHEET_CASPIAN)代碼行來(lái)繼續(xù)使用Caspian主題。在com的Modena blog中找到更多信息。
● 3D圖像處理能力:在JavaFX8中的3D圖像處理API中加入了一些新的API,包括Shape3D (Box, Cylinder, MeshView和Sphere 子類),SubScene, Material, PickResult, LightBase (AmbientLight 和PointLight子類),SceneAntialiasing等。在本次發(fā)布中Camera類API也得到了更新。要了解更多信息,可以參考《開(kāi)始學(xué)習(xí)JavaFX 3D圖形(Getting Started with JavaFX 3D Graphics)》文檔和對(duì)應(yīng)的JavaDoc,包括scene.shape.Shape3D,javafx.scene.SubScene,javafx.scene.paint.Material,javafx.scene.input.PickResult和javafx.scene.SceneAntialiasing。
● Canvas API:Canvas API允許在由一個(gè)圖形元素(node)組成的JavaFX場(chǎng)景(Scene)的一個(gè)區(qū)域中直接繪圖。
● Printing API:JavaFX 8中加入了print包并且提供了打印功能公共類。
● Rich Text支持:JavaFX提供了更為強(qiáng)大的文本支持能力,包括雙向文字(例如阿拉伯語(yǔ))、復(fù)雜文字腳本,例如Thai、Hindu文字,并且支持多行、多種風(fēng)格的文本節(jié)點(diǎn)。
● 多點(diǎn)觸摸:基于底層平臺(tái)的功能JavaFX提供了對(duì)多點(diǎn)觸摸的支持。
● Hi-DPI支持:JavaFX 8現(xiàn)在支持Hi-DPI顯示。
● 圖形渲染硬件加速:JavaFX圖像均基于圖形渲染流水線(Prism)。JavaFX提供更為平滑的圖像并且在顯卡或圖像處理單元(Graphics processing unit,GPU)支持的情況下通過(guò)Prism來(lái)獲得更快的渲染速度。如果GPU不支持對(duì)應(yīng)的圖形處理功能,則Prism會(huì)使用軟件渲染方式來(lái)替代。
● 高性能多媒體引擎:媒體流水線支持對(duì)Web媒體內(nèi)容的播放。它提供了一個(gè)基于GStreamer多媒體框架的穩(wěn)定、低延遲的多媒體處理框架。
● 自包含的應(yīng)用部署模型:自包含應(yīng)用包具有應(yīng)用所需的所有資源、包括一個(gè)Java和JavaFX運(yùn)行時(shí)的私有拷貝。它們可作為操作系統(tǒng)原生安裝包發(fā)布,并提供與原生應(yīng)用相同的安裝和運(yùn)行體驗(yàn)。
“JavaFX有哪些特點(diǎn)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。