JavaFX簡介

在Java中,處理圖形化介面的類別包括Java AWT與Java Swing,前者為Heavyweight物件,後者則為Lightweight物件,兩者皆為Java Desktop Components的成員之一。隨著網際網路運用日趨重要,各種網頁技術不斷產生,例如HTML 5、jQuery、AJAX、R.I.A.等。

JavaFX為Oracle為支援Rich Internet Application (R.I.A.) 所開發的全新API,最早是由前Sun Microsystems工程師Chris Oliver所開發的F3專案,並於2007年5月的JavaOne中首次發表,並以JavaFX Script的形式撰寫程式,其副檔名為fx,與一般的Java程式的java副檔名不同,JavaFX Script的最大特色是可以使用繪圖軟體如Adobe Illustrator或Adobe Photoshop繪製圖像,待完成之後,再儲存成JavaFX Script格式的檔案,再交由JavaFX Script處理,將設計與邏輯部份分開。

JavaFX目前的版本為8.0,並於JavaFX 2.2正式併入Java S.E. 7 Update 6中。JavaFX建構於傳統的Java之上,包括JavaFX Public API與Scene Graph,透過JavaFX所開發的應用程式,可同時以Java Applet、Java Web Start與視窗應用程式的形式執行,此一概念稱為「Write Once, Deploy Anywhere」。此外,由於JavaFX建構於Java之上,因此JavaFX與Java Swing兩者可互通,可在Java Swing程式中使用JavaFX類別。Java Swing受限於API套件,因此欲開發如多媒體、3D、桌面整合等應用程式,必須額外安裝API套件方能完成,例如Java Media Framework (JMF)、Java 3D、Java Bindings for OpenGL (JOGL)、JDesktop Integration Components (JDIC) 等。JavaFX的發展理念希望能朝向All in One,改進目前Java Swing的不足,因此目前JavaFX支援影音多媒體、圖表與3D功能,大有取代Java Swing之勢。

JavaFX提供Scene Graph、Java Public API、CSS樣式、物件配置、GUI物件、圖表、多媒體、2D、3D、效果等功能,包括:

  • 主題 (Theme)。
  • CSS樣式 (Cascading Style Sheets Styling)。
  • 配置窗格包括Anchor Pane、Border Pane、Flow Pane、Grid Pane、HBox、Stack Pane、Tile Pane、VBox。
  • 特殊效果包括陰影、漸層、模糊、反射、高光、綻放、深褐色調、透視轉換。
  • 事件包括按鍵、滑鼠、拖曳、手勢、旋轉、捲動、滑動、縮放、觸控等。
  • 按鈕、核取方塊、開關按鈕、單選按鈕、選單按鈕、分隔選單按鈕、工具列。
  • 選項方塊、複合方塊、檢視清單、顏色選擇器、日期選擇器。
  • 捲軸、滑動軸、進度指示器、進度列。
  • 選單、選單項目、核取選單項目、單選選單項目、快顯選單、選單列。
  • 文字欄位、密碼欄位、文字區域。
  • 捲軸窗格、分頁窗格、分隔窗格、標題窗格、Accordion、分頁控制。
  • 目錄對話盒、檔案對話盒、快顯對話盒。
  • 超連結、HTML Editor、Web Engine、Web View。
  • 樹、樹狀節點、核取方塊樹狀節點、樹狀單元。
  • 表格、表格直行、表格橫列、表格單元。
  • 樹狀表格、樹狀表格直行、樹狀表格橫列、樹狀表格單元。
  • 2D繪圖包括弧形、圓形、橢圓、直線、折線、矩形、文字、多邊形、二次曲線、三次曲線、SVG Path。
  • 圖表包括圓形圖、區域圖、長條圖、折線圖、散佈圖、泡泡圖、堆疊區域圖、堆疊長條圖。
  • 動畫時間軸與轉換包括淡入淡出、填滿、並行、路徑、暫停、旋轉、比例、循序、筆觸、轉移。
  • 音訊與多媒體處理。
  • 3D與PhongMaterial。

Oracle為加速JavaFX圖形介面的開發,推出JavaFX Scene Builder,如同NetBeans與JBuilder IDE一般,以拖曳的方式配置物件,待完成配置之後,並儲存成FXML格式檔案,其副檔名為fxml,此檔案以XML描述物件配置,再交由JavaFX程式處理,因此可減少直接以JavaFX撰寫配置物件程式的困難度。

results matching ""

    No results matching ""