JavaFX官方教程(一)之JavaFX概述
翻譯自??JavaFX概述
本章概述了可以使用JavaFX API構(gòu)建的應(yīng)用程序類(lèi)型,下載JavaFX庫(kù)的位置以及有關(guān)正在交付的關(guān)鍵JavaFX功能的高級(jí)信息。
JavaFX是一組圖形和媒體包,使開(kāi)發(fā)人員能夠設(shè)計(jì),創(chuàng)建,測(cè)試,調(diào)試和部署在不同平臺(tái)上一致運(yùn)行的富客戶端應(yīng)用程序。
-
JavaFX應(yīng)用程序
-
可用性
-
主要特點(diǎn)
-
我可以用JavaFX構(gòu)建什么?
-
如何運(yùn)行示例應(yīng)用程序?
-
如何在IDE中運(yùn)行示例?
-
如何創(chuàng)建JavaFX應(yīng)用程序?
-
資源
請(qǐng)參閱了解JavaFX體系結(jié)構(gòu)一章,了解JavaFX平臺(tái)體系結(jié)構(gòu),并獲得用于媒體流,Web呈現(xiàn)和用戶界面樣式的JavaFX API的簡(jiǎn)要說(shuō)明。
?
1、JavaFX應(yīng)用程序
由于JavaFX庫(kù)是作為Java API編寫(xiě)的,因此JavaFX應(yīng)用程序代碼可以引用任何Java庫(kù)中的API。例如,JavaFX應(yīng)用程序可以使用Java API庫(kù)來(lái)訪問(wèn)本機(jī)系統(tǒng)功能并連接到基于服務(wù)器的中間件應(yīng)用程序。
可以自定義JavaFX應(yīng)用程序的外觀。層疊樣式表(CSS)將外觀和樣式與實(shí)現(xiàn)分開(kāi),以便開(kāi)發(fā)人員可以專注于編碼。圖形設(shè)計(jì)人員可以通過(guò)CSS輕松自定義應(yīng)用程序的外觀和樣式。如果您有Web設(shè)計(jì)背景,或者您希望將用戶界面(UI)和后端邏輯分開(kāi),那么您可以使用FXML腳本語(yǔ)言開(kāi)發(fā)UI的表示方面,并為應(yīng)用程序使用Java代碼邏輯。如果您更喜歡在不編寫(xiě)代碼的情況下設(shè)計(jì)UI,那么請(qǐng)使用JavaFX Scene Builder。在設(shè)計(jì)UI時(shí),Scene Builder會(huì)創(chuàng)建可以移植到集成開(kāi)發(fā)環(huán)境(IDE)的FXML標(biāo)記,以便開(kāi)發(fā)人員可以添加業(yè)務(wù)邏輯。
可用性
JavaFX API可作為Java SE運(yùn)行時(shí)環(huán)境(JRE)和Java Development Kit(JDK)的完全集成功能使用。由于JDK適用于所有主要桌面平臺(tái)(Windows,Mac OS X和Linux),因此編譯為JDK 7及更高版本的JavaFX應(yīng)用程序也可在所有主要桌面平臺(tái)上運(yùn)行。JavaFX 8也提供對(duì)ARM平臺(tái)的支持.JDK for ARM包括JavaFX的基礎(chǔ),圖形和控件組件。
跨平臺(tái)兼容性為JavaFX應(yīng)用程序開(kāi)發(fā)人員和用戶提供了一致的運(yùn)行時(shí)體驗(yàn)。Oracle確保在所有平臺(tái)上同步發(fā)布和更新,并為運(yùn)行任務(wù)關(guān)鍵型應(yīng)用程序的公司提供廣泛的支持計(jì)劃。
在JDK下載頁(yè)面上,您可以獲得JavaFX示例應(yīng)用程序的zip文件。示例應(yīng)用程序提供了許多代碼示例和代碼段,通過(guò)示例演示如何編寫(xiě)JavaFX應(yīng)用程序。請(qǐng)參閱“如何運(yùn)行示例應(yīng)用程序?”?欲獲得更多信息。
主要特點(diǎn)
JavaFX 8及更高版本中包含以下功能。在JavaFX 8版本中引入的項(xiàng)目相應(yīng)地指示:
-
Java API。JavaFX是一個(gè)Java庫(kù),由用Java代碼編寫(xiě)的類(lèi)和接口組成。API旨在成為Java虛擬機(jī)(Java VM)語(yǔ)言的友好替代方案,例如JRuby和Scala。
-
FXML和場(chǎng)景生成器。FXML是一種基于XML的聲明性標(biāo)記語(yǔ)言,用于構(gòu)建JavaFX應(yīng)用程序用戶界面。設(shè)計(jì)人員可以使用FXML進(jìn)行編碼,也可以使用JavaFX Scene Builder以交互方式設(shè)計(jì)圖形用戶界面(GUI)。Scene Builder生成FXML標(biāo)記,可以移植到IDE,開(kāi)發(fā)人員可以在IDE中添加業(yè)務(wù)邏輯。
-
WebView。一個(gè)Web組件,它使用WebKitHTML技術(shù),可以在JavaFX應(yīng)用程序中嵌入Web頁(yè)面。在WebView中運(yùn)行的JavaScript可以調(diào)用Java API,Java API可以調(diào)用在WebView中運(yùn)行的JavaScript。JavaFX 8中添加了對(duì)其他HTML5功能的支持,包括Web套接字,Web Worker和Web字體以及打印功能。請(qǐng)參閱向JavaFX應(yīng)用程序添加HTML內(nèi)容。
-
Swing互操作性。現(xiàn)有的Swing應(yīng)用程序可以使用JavaFX功能進(jìn)行更新,例如豐富的圖形媒體播放和嵌入式Web內(nèi)容。在SwingNode類(lèi),這使您可以嵌入Swing的內(nèi)容為JavaFX應(yīng)用程序,已在JavaFX的8添加見(jiàn)SwingNode API的javadoc和JavaFX的應(yīng)用程序中嵌入的Swing內(nèi)容以獲取更多信息。
-
內(nèi)置UI控件?和CSS。JavaFX提供了開(kāi)發(fā)功能齊全的應(yīng)用程序所需的所有主要UI控件。組件可以使用標(biāo)準(zhǔn)Web技術(shù)(如CSS)進(jìn)行外觀處理。現(xiàn)在,JavaFX 8版本提供了DatePicker和TreeTableView UI控件。有關(guān)更多信息,請(qǐng)參閱使用JavaFX UI控件。此外,CSS Styleable *類(lèi)已成為公共API,允許通過(guò)CSS設(shè)置對(duì)象樣式。
-
摩德納主題。Modena主題將Caspian主題替換為JavaFX 8應(yīng)用程序的默認(rèn)主題。通過(guò)setUserAgentStylesheet(STYLESHEET_CASPIAN)在Application start()方法中添加該行,Caspian主題仍可供您使用。有關(guān)更多信息,請(qǐng)?jiān)L問(wèn)fxexperience.com上的Modena博客
-
3D圖形功能。Shape3D(Box, Cylinder, MeshView, and Sphere子類(lèi))SubScene, Material, PickResult, LightBase (AmbientLight和PointLight子類(lèi)的新API類(lèi)SceneAntialiasing已添加到JavaFX 8中的3D圖形庫(kù)中。Camera此類(lèi)版本中的API類(lèi)也已更新。欲了解更多信息,請(qǐng)參閱入門(mén)JavaFX的3D圖形文件和相應(yīng)的API的javadoc的javafx.scene.shape.Shape3D,javafx.scene.SubScene, javafx.scene.paint.Material, javafx.scene.input.PickResult和javafx.scene.SceneAntialiasing。
-
Canvas API。Canvas API可以直接在JavaFX場(chǎng)景的一個(gè)區(qū)域內(nèi)繪制,該區(qū)域由一個(gè)圖形元素(節(jié)點(diǎn))組成。
-
打印API。該javafx.print軟件包已添加到Java SE 8發(fā)行版中,并提供JavaFX Printing API的公共類(lèi)。
-
富文本支持。JavaFX 8為JavaFX帶來(lái)了增強(qiáng)的文本支持,包括雙向文本和復(fù)雜文本腳本,例如控件中的Thai和Hindu,以及??文本節(jié)點(diǎn)中的多行,多樣式文本。
-
多點(diǎn)觸控支持。JavaFX基于底層平臺(tái)的功能為多點(diǎn)觸控操作提供支持。
-
Hi-DPI支持。JavaFX 8現(xiàn)在支持Hi-DPI顯示。
-
硬件加速圖形管道。JavaFX圖形基于圖形渲染管道(Prism)。JavaFX提供平滑的圖形,當(dāng)它與支持的圖形卡或圖形處理單元(GPU)一起使用時(shí),可以通過(guò)Prism快速渲染。如果系統(tǒng)沒(méi)有JavaFX支持的推薦GPU之一,則Prism默認(rèn)使用軟件渲染堆棧。
-
高性能媒體引擎。媒體管道支持web多媒體內(nèi)容的回放。它提供了一個(gè)基于GStreamer多媒體框架的穩(wěn)定,低延遲的媒體框架。
-
自包含的應(yīng)用程序部署?模型。自包含的應(yīng)用程序包具有所有應(yīng)用程序資源以及Java和JavaFX運(yùn)行時(shí)的私有副本。它們作為本機(jī)可安裝程序包分發(fā),并提供與該操作系統(tǒng)的本機(jī)應(yīng)用程序相同的安裝和啟動(dòng)體驗(yàn)。
?
2、我可以用JavaFX構(gòu)建什么?
使用JavaFX,您可以構(gòu)建多種類(lèi)型的應(yīng)用程序。通常,它們是跨多個(gè)平臺(tái)部署的網(wǎng)絡(luò)感知應(yīng)用程序,并在具有音頻,視頻,圖形和動(dòng)畫(huà)的高性能現(xiàn)代用戶界面中顯示信息。
表1-1示出了幾個(gè)附帶了JavaFX 8.樣品JavaFX應(yīng)用程序的圖像?釋放。
表1-1 JavaFX應(yīng)用程序示例
| JavaFX Ensemble?8 Ensemble8是一個(gè)示例應(yīng)用程序庫(kù),展示了各種JavaFX功能,包括動(dòng)畫(huà),圖表和控件。您可以在所有平臺(tái)上查看每個(gè)正在運(yùn)行的示例并與之交互,并閱讀其說(shuō)明。在桌面平臺(tái)上,您可以復(fù)制每個(gè)示例的源代碼,調(diào)整多個(gè)示例中使用的示例組件的屬性,并在連接到Internet時(shí)跟蹤指向相關(guān)API文檔的鏈接.Ensemble8也可以與JavaFX for ARM一起運(yùn)行。 | |
| 摩德納 Modena是一個(gè)示例應(yīng)用程序,它使用Modena主題演示UI組件的外觀。它為您提供了對(duì)比Modena和Caspian主題的選項(xiàng),并探索了這些主題的各個(gè)方面。 | |
| 3D查看器 3DViewer是一個(gè)示例應(yīng)用程序,允許您使用鼠標(biāo)或觸控板導(dǎo)航和檢查3D場(chǎng)景。3DViewer具有OBJ和Maya文件中的一部分功能的導(dǎo)入程序。還為Maya文件提供了導(dǎo)入動(dòng)畫(huà)的功能。(請(qǐng)注意,對(duì)于Maya文件,在保存為Maya文件時(shí),應(yīng)刪除所有對(duì)象的構(gòu)建歷史記錄。) 3DViewer還能夠?qū)?chǎng)景內(nèi)容導(dǎo)出為Java或FXML文件。 |
?
3、如何運(yùn)行示例應(yīng)用程序?
本節(jié)中的步驟介紹了如何下載和運(yùn)行可通過(guò)Java平臺(tái)(JDK 8)單獨(dú)下載的示例應(yīng)用程序。
注意:
在運(yùn)行示例JavaFX應(yīng)用程序之前,需要在計(jì)算機(jī)上安裝JavaFX運(yùn)行時(shí)庫(kù)。在繼續(xù)執(zhí)行這些步驟之前,請(qǐng)安裝最新版本的JDK 8或最新版本的JRE。
要下載并運(yùn)行示例應(yīng)用程序:
轉(zhuǎn)到Java SE下載頁(yè)面http://www.oracle.com/technetwork/java/javase/downloads/。
向下滾動(dòng)以找到JDK 8和JavaFX演示和示例部分。
單擊演示和示例下載按鈕轉(zhuǎn)到下載頁(yè)面。
在Java SE Development Kit 8下載頁(yè)面上,向下滾動(dòng)到JavaFX演示和示例下載部分。
下載適用于正確操作系統(tǒng)的zip文件并解壓縮文件。
該javafx-samples-8.x目錄已創(chuàng)建并包含可用樣本的文件。樣本的NetBeans項(xiàng)目位于javafx-samples-8.x\src目錄中。
雙擊示例的可執(zhí)行文件。
例如,要運(yùn)行Ensemble8預(yù)構(gòu)建的示例應(yīng)用程序,請(qǐng)雙擊該Ensemble8.jar文件。
?
4、如何在IDE中運(yùn)行示例?
您可以使用多個(gè)Java開(kāi)發(fā)IDE來(lái)開(kāi)發(fā)JavaFX應(yīng)用程序。以下步驟說(shuō)明如何在NetBeans IDE中查看和運(yùn)行源代碼。
要在NetBeans IDE中查看和運(yùn)行示例源代碼,請(qǐng)執(zhí)行以下操作:
如上所述下載樣本,然后解壓縮文件。
在NetBeans 7.4或更高版本的IDE中,加載要查看的示例的項(xiàng)目。
從“?文件”菜單中,選擇“?打開(kāi)項(xiàng)目”。
在“?打開(kāi)項(xiàng)目”對(duì)話框中,導(dǎo)航到列出示例的目錄。導(dǎo)航路徑如下所示:
..\javafx_samples-8.x-<platform>\javafx-samples-8.x\src選擇要查看的樣本。
單擊“?打開(kāi)項(xiàng)目”按鈕。
在“項(xiàng)目”窗口中,右鍵單擊剛剛打開(kāi)的項(xiàng)目,然后選擇“運(yùn)行”。
請(qǐng)注意,“輸出”窗口已更新,并且示例項(xiàng)目已運(yùn)行并已部署。
?
5、如何創(chuàng)建JavaFX應(yīng)用程序?
由于JavaFX應(yīng)用程序是用Java語(yǔ)言編寫(xiě)的,因此您可以使用自己喜歡的編輯器或任何支持Java語(yǔ)言的集成開(kāi)發(fā)環(huán)境(IDE)(例如NetBeans,Eclipse或IntelliJ IDEA)來(lái)創(chuàng)建JavaFX應(yīng)用程序。
要?jiǎng)?chuàng)建JavaFX應(yīng)用程序:
轉(zhuǎn)到Java SE下載頁(yè)面,http://www.oracle.com/technetwork/java/javase/downloads/下載帶有JavaFX 8.?n支持的Oracle?JDK8?。該頁(yè)面還提供了經(jīng)過(guò)認(rèn)證的系統(tǒng)配置和發(fā)行說(shuō)明的鏈接。
使用JavaFX示例應(yīng)用程序入門(mén)創(chuàng)建簡(jiǎn)單的應(yīng)用程序,演示如何使用布局,樣式表和視覺(jué)效果。
使用JavaFX Scene Builder為您的JavaFX應(yīng)用程序設(shè)計(jì)UI而無(wú)需編碼。您可以將UI組件拖放到工作區(qū),修改其屬性,應(yīng)用樣式表,并將生成的代碼與其應(yīng)用程序邏輯集成。
從JavaFX下載頁(yè)面下載JavaFX Scene Builder?http://www.oracle.com/technetwork/java/javase/downloads/。
按照J(rèn)avaFX Scene Builder入門(mén)教程了解更多信息。
總結(jié)
以上是生活随笔為你收集整理的JavaFX官方教程(一)之JavaFX概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SQL注入时间盲注
- 下一篇: JavaFX官方教程(二)之JavaFX