JavaFX入門(一)之前言概述
1、JavaFX概述
本章概述了可以使用JavaFX API構建的應用程式型別,下載JavaFX庫的位置以及有關正在交付的關鍵JavaFX功能的高階資訊。
JavaFX是一組圖形和媒體包,使開發人員能夠設計,建立,測試,除錯和部署在不同平臺上一致執行的富客戶端應用程式。
請參閱瞭解JavaFX體系結構一章,瞭解JavaFX平臺體系結構,並獲得用於媒體流,Web呈現和使用者介面樣式的JavaFX API的簡要說明。
2、JavaFX應用程式
由於JavaFX庫是作為Java API編寫的,因此JavaFX應用程式程式碼可以引用任何Java庫中的API。例如,JavaFX應用程式可以使用Java API庫來訪問本機系統功能並連線到基於伺服器的中介軟體應用程式。
可以自定義JavaFX應用程式的外觀。層疊樣式表(CSS)將外觀和樣式與實現分開,以便開發人員可以專注於編碼。圖形設計人員可以通過CSS輕鬆自定義應用程式的外觀和樣式。如果您有Web設計背景,或者您希望將使用者介面(UI)和後端邏輯分開,那麼您可以使用FXML指令碼語言開發UI的表示方面,併為應用程式使用Java程式碼邏輯。如果您更喜歡在不編寫程式碼的情況下設計UI,那麼請使用JavaFX Scene Builder。在設計UI時,Scene Builder會建立可以移植到整合開發環境(IDE)的FXML標記,以便開發人員可以新增業務邏輯。
可用性
JavaFX API可作為Java SE執行時環境(JRE)和Java Development Kit(JDK)的完全整合功能使用。由於JDK適用於所有主要桌面平臺(Windows,Mac OS X和Linux),因此編譯為JDK 7及更高版本的JavaFX應用程式也可在所有主要桌面平臺上執行。JavaFX 8也提供對ARM平臺的支援.JDK for ARM包括JavaFX的基礎,圖形和控制元件元件。
跨平臺相容性為JavaFX應用程式開發人員和使用者提供了一致的執行時體驗。Oracle確保在所有平臺上同步釋出和更新,併為執行任務關鍵型應用程式的公司提供廣泛的支援計劃。
在JDK下載頁面上,您可以獲得JavaFX示例應用程式的zip檔案。示例應用程式提供了許多程式碼示例和程式碼段,通過示例演示如何編寫JavaFX應用程式。請參閱“如何執行示例應用程式?” 欲獲得更多資訊。
主要特點
JavaFX 8及更高版本中包含以下功能。在JavaFX 8版本中引入的專案相應地指示:
-
Java API。JavaFX是一個Java庫,由用Java程式碼編寫的類和介面組成。API旨在成為Java虛擬機器(Java VM)語言的友好替代方案,例如JRuby和Scala。
-
FXML和場景生成器。FXML是一種基於XML的宣告性標記語言,用於構建JavaFX應用程式使用者介面。設計人員可以使用FXML進行編碼,也可以使用JavaFX Scene Builder以互動方式設計圖形使用者介面(GUI)。Scene Builder生成FXML標記,可以移植到IDE,開發人員可以在IDE中新增業務邏輯。
-
WebView。一個Web元件,它使用WebKitHTML技術,可以在JavaFX應用程式中嵌入Web頁面。在WebView中執行的JavaScript可以呼叫Java API,Java API可以呼叫在WebView中執行的JavaScript。JavaFX 8中添加了對其他HTML5功能的支援,包括Web套接字,Web Worker和Web字型以及列印功能。請參閱向JavaFX應用程式新增HTML內容。
-
Swing互操作性。現有的Swing應用程式可以使用JavaFX功能進行更新,例如豐富的圖形媒體播放和嵌入式Web內容。在
SwingNode
類,這使您可以嵌入Swing的內容為JavaFX應用程式,已在JavaFX的8新增見SwingNode API的javadoc和JavaFX的應用程式中嵌入的Swing內容以獲取更多資訊。 -
內建UI控制元件 和CSS。JavaFX提供了開發功能齊全的應用程式所需的所有主要UI控制元件。元件可以使用標準Web技術(如CSS)進行外觀處理。現在,JavaFX 8版本提供了DatePicker和TreeTableView UI控制元件。有關更多資訊,請參閱使用JavaFX UI控制元件。此外,CSS Styleable *類已成為公共API,允許通過CSS設定物件樣式。
-
摩德納主題。Modena主題將Caspian主題替換為JavaFX 8應用程式的預設主題。通過
setUserAgentStylesheet(STYLESHEET_CASPIAN)
在Application start()方法中新增該行,Caspian主題仍可供您使用。有關更多資訊,請訪問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圖形檔案和相應的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場景的一個區域內繪製,該區域由一個圖形元素(節點)組成。
-
列印API。該
javafx.print
軟體包已新增到Java SE 8發行版中,並提供JavaFX Printing API的公共類。 -
富文字支援。JavaFX 8為JavaFX帶來了增強的文字支援,包括雙向文字和複雜文字指令碼,例如控制元件中的Thai和Hindu,以及文字節點中的多行,多樣式文字。
-
多點觸控支援。JavaFX基於底層平臺的功能為多點觸控操作提供支援。
-
Hi-DPI支援。JavaFX 8現在支援Hi-DPI顯示。
-
硬體加速圖形管道。JavaFX圖形基於圖形渲染管道(Prism)。JavaFX提供平滑的圖形,當它與支援的圖形卡或圖形處理單元(GPU)一起使用時,可以通過Prism快速渲染。如果系統沒有JavaFX支援的推薦GPU之一,則Prism預設使用軟體渲染堆疊。
-
高效能媒體引擎。媒體管道支援web多媒體內容的回放。它提供了一個基於GStreamer多媒體框架的穩定,低延遲的媒體框架。
-
自包含的應用程式部署 模型。自包含的應用程式包具有所有應用程式資源以及Java和JavaFX執行時的私有副本。它們作為本機可安裝程式包分發,並提供與該作業系統的本機應用程式相同的安裝和啟動體驗。
3、我可以用JavaFX構建什麼?
使用JavaFX,您可以構建多種型別的應用程式。通常,它們是跨多個平臺部署的網路感知應用程式,並在具有音訊,視訊,圖形和動畫的高效能現代使用者介面中顯示資訊。
表1-1示出了幾個附帶了JavaFX 8.樣品JavaFX應用程式的影象Ñ釋放。
表1-1 JavaFX應用程式示例
樣品申請 | 描述 |
---|---|
JavaFX Ensemble 8 Ensemble8是一個示例應用程式庫,展示了各種JavaFX功能,包括動畫,圖表和控制元件。您可以在所有平臺上檢視每個正在執行的示例並與之互動,並閱讀其說明。在桌面平臺上,您可以複製每個示例的原始碼,調整多個示例中使用的示例元件的屬性,並在連線到Internet時跟蹤指向相關API文件的連結.Ensemble8也可以與JavaFX for ARM一起執行。 |
|
摩德納 Modena是一個示例應用程式,它使用Modena主題演示UI元件的外觀。它為您提供了對比Modena和Caspian主題的選項,並探索了這些主題的各個方面。 |
|
3D檢視器 3DViewer是一個示例應用程式,允許您使用滑鼠或觸控板導航和檢查3D場景。3DViewer具有OBJ和Maya檔案中的一部分功能的匯入程式。還為Maya檔案提供了匯入動畫的功能。(請注意,對於Maya檔案,在儲存為Maya檔案時,應刪除所有物件的構建歷史記錄。) 3DViewer還能夠將場景內容匯出為Java或FXML檔案。 |
4、如何執行示例應用程式?
本節中的步驟介紹瞭如何下載和執行可通過Java平臺(JDK 8)單獨下載的示例應用程式。
注意:
在執行示例JavaFX應用程式之前,需要在計算機上安裝JavaFX執行時庫。在繼續執行這些步驟之前,請安裝最新版本的JDK 8或最新版本的JRE。
要下載並執行示例應用程式:
-
向下滾動以找到JDK 8和JavaFX演示和示例部分。
-
單擊演示和示例下載按鈕轉到下載頁面。
-
在Java SE Development Kit 8下載頁面上,向下滾動到JavaFX演示和示例下載部分。
-
下載適用於正確作業系統的zip檔案並解壓縮檔案。
該
javafx-samples-8.x
目錄已建立幷包含可用樣本的檔案。樣本的NetBeans專案位於javafx-samples-8.x\src
目錄中。 -
雙擊示例的可執行檔案。
例如,要執行Ensemble8預構建的示例應用程式,請雙擊該
Ensemble8.jar
檔案。
5、如何在IDE中執行示例?
您可以使用多個Java開發IDE來開發JavaFX應用程式。以下步驟說明如何在NetBeans IDE中檢視和執行原始碼。
要在NetBeans IDE中檢視和執行示例原始碼,請執行以下操作:
-
如上所述下載樣本,然後解壓縮檔案。
-
在NetBeans 7.4或更高版本的IDE中,載入要檢視的示例的專案。
-
從“ 檔案”選單中,選擇“ 開啟專案”。
-
在“ 開啟專案”對話方塊中,導航到列出示例的目錄。導航路徑如下所示:
..\javafx_samples-8.x-<platform>\javafx-samples-8.x\src
-
選擇要檢視的樣本。
-
單擊“ 開啟專案”按鈕。
-
-
在“專案”視窗中,右鍵單擊剛剛開啟的專案,然後選擇“執行”。 請注意,“輸出”視窗已更新,並且示例專案已執行並已部署。
6、如何建立JavaFX應用程式?
由於JavaFX應用程式是用Java語言編寫的,因此您可以使用自己喜歡的編輯器或任何支援Java語言的整合開發環境(IDE)(例如NetBeans,Eclipse或IntelliJ IDEA)來建立JavaFX應用程式。
要建立JavaFX應用程式:
-
使用JavaFX示例應用程式入門建立簡單的應用程式,演示如何使用佈局,樣式表和視覺效果。
-
使用JavaFX Scene Builder為您的JavaFX應用程式設計UI而無需編碼。您可以將UI元件拖放到工作區,修改其屬性,應用樣式表,並將生成的程式碼與其應用程式邏輯整合。