JavaFX教程


JavaFX是Java的下一代圖形用戶界面工具包。JavaFX是一組圖形和媒體API,我們可以用它們來創建和部署富客戶端應用程序。

JavaFX允許開發人員快速構建豐富的跨平臺應用程序。JavaFX通過硬件加速圖形支持現代GPU。

JavaFX允許開發人員在單個編程接口中組合圖形,動畫和UI控件。

圖表編程語言可用於開發互聯網應用程序(RIA)。JavaFX技術主要應用於創建Rich Internet applications(RIAs)。當前的JavaFX包括JavaFX腳本和JavaFX Mobile(一種運營於行動裝置的操作系統),今後JavaFX將包括更多的產品。JavaFX Script編程語言(以下稱爲JavaFX)是一種聲明性的、靜態類型腳本語言。

JavaFX技術有着良好的前景,包括可以直接調用Java API的能力。因爲 JavaFX Script是靜態類型,它同樣具有結構化代碼、重用性和封裝性,如包、類、繼承和單獨編譯和發佈單元,這些特性使得使用JavaFX技術創建和管理大型程序變爲可能。

可用性

JavaFX APIJava SE運行時環境(JRE)和Java開發工具包(JDK)捆綁在一起。
JDK可用於所有主要的桌面平臺,WindowsMac OS XLinuxJavaFX應用程序可以在所有主要的桌面平臺上編譯和運行。

JDK for ARM平臺包括JavaFX的基礎,圖形和控件組件。

主要特徵

JavaFX中包含以下功能 -

  • JavaFX是用Java編寫的,JavaFX應用程序代碼可以從任何Java庫引用API。
  • JavaFX應用程序的外觀和感覺可以定製。因此可以使用級聯樣式表(CSS)來對JavaFX應用程序進行風格化。平面設計師可以通過CSS自定義外觀和樣式。
  • 還可以在FXML腳本語言中描述UI的表示方面,並使用Java對應用程序邏輯進行編碼。
  • 通過使用JavaFX Scene Builder,可以通過拖放來設計UI。 Scene Builder將創建可以移植到集成開發環境(IDE)的FXML標記,以便開發人員可以添加業務邏輯。
  • JavaFX有一個稱爲WebView的控件,可以呈現複雜的網頁。WebView支持JavaScript,我們可以從Java API在Web頁面中調用Javascript。 WebView還支持額外的HTML5功能,包括Web套接字,Web Workers和Web字體,還可以從WebView打印網頁
  • Swing互操作性。 現有的Swing應用程序可以使用JavaFX類,例如圖表和WebView。還可以使用SwingNode類將Swing內容嵌入到我們應用程序中。

  • 3D圖形功能。JavaFX支持Shape,如Box,Cylinder,MeshView和Sphere子類,SubScene,Material,PickResult,AmbientLight和PointLight。

  • Canvas API。 使用Canvas API,可以在JavaFX場景上繪製。

  • 打印API。 javafx.print包提供了JavaFX Printing API的類。
  • 富文本支持。JavaFX支持增強的文本,包括雙向文本和複雜的文本腳本,例如泰語和印度教的控件,以及多行,多種風格的文本。
  • 多點觸控支持,JavaFX提供對多點觸摸操作的支持。
  • JavaFX支持Hi-DPI顯示。

UI控件

以下列出了JavaFX API中提供的一些內置JavaFX UI控件。

  • Label
  • Button
  • Radio Button
  • Toggle Button
  • Checkbox
  • Choice Box
  • Text Field
  • Password Field
  • Scroll Bar
  • Scroll Pane
  • List View
  • Table View
  • Tree View
  • Tree Table View
  • Combo Box
  • Separator
  • Slider
  • Progress Bar
  • Progress Indicator
  • Hyperlink
  • Tooltip
  • HTML Editor
  • Titled Pane
  • Accordion
  • Menu
  • Color Picker
  • Date Picker
  • Pagination Control
  • File Chooser

JavaFX允許UI控制節點和形狀節點在場景圖上共存。
我們可以像任何其他JavaFX節點一樣處理任何UI控件,例如可以縮放,旋轉,樣式和添加效果。