來源
JavaFX技術有著良好的前景,包括可以直接調用Java API的能力。因為 JavaFX Script是靜態類型,它同樣具有結構化代碼、重用性和封裝性,如包、類、繼承和單獨編譯和發布單元,這些特性使得使用JavaFX技術創建和管理大型程式變為可能。
教程
在JavaFX中,類的成員函式和操作本身被模式化作為在目標類中的類,而形參和返回值被表示為屬性。代表目標對象的屬性名是“this”。代表返回值的屬性名為“return”。代表形參的屬性具有和形參相同的屬性名。而目標對象則指使用成員函式和操作的對象。從上例中可以發現,你也可以從Class對象中獲取相同的、被反射的操作。被反射的操作能夠像函式那樣通過將目標對象作為第一個參數、其它參數作為後面的參數的方式被調用:
正式發布
2008年12月05日 Sun微系統公司正式發布了基於Java語言的平台JavaFX 1.0,這個平台建立在其廣泛套用的Java程式語言的基礎上,旨在建立大量可在電腦和手機上運行的網路程式。Java一直以來就是程式語言,但是隨著JavaFX的發布,Sun公司開始允許將編程內容創新這一任務轉移到以設計藝術為重點而非編程科學為重點的設計人員身上。
“我們的目標群體是叫做創造者的人群”,Sun公司Java平台組的高級副主任 OctavianTanase對 說,“隨著1.0版的發布,我們將目標鎖定在網頁開發人員,這群可能拓展Java界面體驗的人。到2011年,主要的目標是大量使用諸如Adobe系統等設計工具的設計人員”。
當然,通向這個以設計為導向的工具還需要一些時間。Sun公司最後打算提供自己的程式給設計人員來建立RIAS,但是直到如今,這些設計人員還得使用程式設計師所使用的Netbeans或Eclipse集成開發環境(IDE)。新工具將在來年夏天面市。
JavaFX 2.0版本之前,開發者需使用一種名為JavaFX Script的靜態的、聲明式的程式語言來開發JavaFX應用程式。因為JavaFX Script將會被編譯為Java bytecode,程式設計師可以使用Java代碼代替。
JavaFX 2.0之後的版本摒棄了JavaFX Script語言,而作為一個Java API來使用。因此使用JavaFX平台實現的應用程式將直接通過標準Java代碼來實現。
在桌面系統上,最新版本的JavaFX支持Windows XP,Windows Vista,Windows 7,Mac OS X和Linux作業系統。JavaFX 2.X版本暫時不支持Solaris作業系統和智慧型手機作業系統。但是Oracle計畫將JavaFX集成到Java SE embedded 8之中,JavaFX for ARM處理器也正處於開發者預覽階段。
開發工具
Sun近日發布了其RIA技術JavaFX的RAD(快速套用開發)工具的體驗版,這是一個針對開發人員的JavaFX開發工具。該工具目前已可以在NetBeans 6.8更新中心下載。由於是早期版本,該工具還有一些功能限制,比如:對於JavaFX 1.2中新增的關鍵組件,如圖表(Chart),尚無可視化支持;還不能對組件的某些屬性進行可視化編輯;此外,預覽視圖偶爾會“罷工”以至於必須重啟IDE才能恢復正常等。 Sun的開發工具工程部門的負責人David Folk在一個大會上說:“我們甚至不稱之為試用版(beta)——而稱之為‘早期體驗版’,或者‘預覽版’”,該工具的真正目的是讓你能用JavaFX開發基於表單的應用程式”
這款新的JavaFX工具的基本思想類似於針對Swing的Matisse項目,它提供了與VB或Delphi非常相像的可視化編輯器,簡化了 Swing的開發工作。與Matisse一樣(它後來變成了NetBeans 5的GUI編輯器),JavaFX工作檯在你工作時為你生成代碼,而且,儘管你可以查看生成的代碼,但不爽的是你不能對其生產的代碼進行修改。
當你從調色板(palette)中拖拽一個JavaFX組件到設計區時,你可以為它們綁定數據源。該外掛程式目前支持JDBC數據源、HTTP (XML / JSON)、檔案系統(FileSystem)、檔案數據源以及內建過濾器。它還提供一些簡單的轉換器,通過他們你可以方便地將某數據源(比如REST或 JSON數據源)綁定到一組組件上。
除了支持簡單地拖放組件的功能外,該外掛程式還有一個“狀態”的概念。狀態從最初的主狀態(master state)開始,你還可以給這些組件或他們的布局增加新狀態。套用運行時,比如滑鼠點擊的事件就可以引發狀態轉換,進而把你定義的行為自動反映在UI 上。每個轉換行上還能附帶一個簡單的動畫,這樣,你就能快速創建縮放,漸變和旋轉等特效。
該工具還有很多其他有價值的特性,如概覽(通過它你可以在不同的螢幕尺度上預覽套用,如同在不同的設備上一樣,如桌面,移動設備和HDTV等) 以及預定義模板。利用模組你可以快速構建普通的GUI模式,比如嚮導按鈕(取消、後退、下一步和結束等)以及索引按鈕(前一步,下一步)。你可以便捷地添加這些按鈕並進行客戶化。
與眾多必需的工具一樣,JavaFX需要通過一些矚目的套用才能獲得更多的訂單。早期嘗試它的公司有Ubivent,它的整個虛擬事件平台是完全基於JavaFX構建的。另外還有WhitStone Technology,他們在其整體服務平台和IT服務管理產品的工作流組件中使用了JavaFX。然而,對於JavaFX來說最重要的單子也許就是 2010冬季奧運會,它的組織委員會是Sun的大客戶,它在其網站上使用了基於JavaFX的金牌展示套用。
授權模式
JavaFX的開發者很贊同讓用戶發布自己的套用,並堅信開源和社區的力量。但當前的JavaFX版本是在評估授權下發布的,因此並不能夠被重新發布。你當然能夠發布自己編寫的基於JavaFX的套用,但不能夠和JavaFX一起捆綁發布,並需要告之使用者:需要到openjfx項目站點下載JavaFX二進制代碼庫。並且,由於正處於早期的JavaFX代碼還處在評估授權下,因此它不能用於商業用途。當Sun完成了JavaFX的商業化版本開發後,我相信這將會得到改變。