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