1. 程式人生 > >JavaFX入門(一)之前言概述

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的javadocJavaFX的應用程式中嵌入的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圖形功能Shape3DBox, Cylinder, MeshView, and Sphere子類)SubScene, Material, PickResult, LightBase (AmbientLightPointLight子類的新API類SceneAntialiasing已新增到JavaFX 8中的3D圖形庫中。Camera此類版本中的API類也已更新。欲瞭解更多資訊,請參閱入門JavaFX的3D圖形檔案和相應的API的javadocjavafx.scene.shape.Shape3Djavafx.scene.SubScene, javafx.scene.paint.Material, javafx.scene.input.PickResultjavafx.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

要下載並執行示例應用程式:

  1. 向下滾動以找到JDK 8和JavaFX演示和示例部分。

  2. 單擊演示和示例下載按鈕轉到下載頁面。

  3. 在Java SE Development Kit 8下載頁面上,向下滾動到JavaFX演示和示例下載部分。

  4. 下載適用於正確作業系統的zip檔案並解壓縮檔案。

    javafx-samples-8.x目錄已建立幷包含可用樣本的檔案。樣本的NetBeans專案位於javafx-samples-8.x\src目錄中。

  5. 雙擊示例的可執行檔案。

    例如,要執行Ensemble8預構建的示例應用程式,請雙擊該Ensemble8.jar檔案。

5、如何在IDE中執行示例?

您可以使用多個Java開發IDE來開發JavaFX應用程式。以下步驟說明如何在NetBeans IDE中檢視和執行原始碼。

要在NetBeans IDE中檢視和執行示例原始碼,請執行以下操作:

  1. 如上所述下載樣本,然後解壓縮檔案。

  2. 在NetBeans 7.4或更高版本的IDE中,載入要檢視的示例的專案。

    1. 從“ 檔案”選單中,選擇“ 開啟專案”

    2. 在“ 開啟專案”對話方塊中,導航到列出示例的目錄。導航路徑如下所示:

      ..\javafx_samples-8.x-<platform>\javafx-samples-8.x\src
    3. 選擇要檢視的樣本。

    4. 單擊“ 開啟專案”按鈕。

  3. 在“專案”視窗中,右鍵單擊剛剛開啟的專案,然後選擇“執行”。 請注意,“輸出”視窗已更新,並且示例專案已執行並已部署。

6、如何建立JavaFX應用程式?

由於JavaFX應用程式是用Java語言編寫的,因此您可以使用自己喜歡的編輯器或任何支援Java語言的整合開發環境(IDE)(例如NetBeans,Eclipse或IntelliJ IDEA)來建立JavaFX應用程式。

要建立JavaFX應用程式:

  1. 使用JavaFX示例應用程式入門建立簡單的應用程式,演示如何使用佈局,樣式表和視覺效果。

  2. 使用JavaFX Scene Builder為您的JavaFX應用程式設計UI而無需編碼。您可以將UI元件拖放到工作區,修改其屬性,應用樣式表,並將生成的程式碼與其應用程式邏輯整合。