因此,今天,我和一個朋友在我們的一個地方聚在一起,教自己一點JavaFX。 這是我們學到的東西,首先要做一些牛削皮工作:
- 首先,安裝JavaFX開發人員預覽– 在此處獲取
- 您必須將其解壓縮,然后將生成的目錄放置在合理的位置,以root命名。
- 我把它放在
/usr/local/javafx-sdk2.1.0-beta/
- 接下來,您將需要一個IDE與之配套
- Netbeans是JavaFX 2中最先進和可用的IDE
- 您想要Netbeans 7.1 RC2
- 要將其安裝在Mac上,您需要JavaForMacOSX10.7.dmg –官方Apple Java的較低版本都不能使用,并且OpenJDK構建也不起作用(即使它是正確的版本或更高的版本)
- 安裝完成后,Netbeans可以與其他JRE正常工作(我主要是在Java 7 Developer Preview上運行它)
- 要啟動新的JavaFX項目,您需要告訴NetBeans在哪里可以找到JavaFX。 為此,您需要創建一個新的JavaSE平臺概要文件,并手動添加JavaFX依賴項。
安裝后,我們便開始正確使用JavaFX。 我們今天的項目是嘗試在JavaFX中復制Victor Grazi的一些并發動畫,既可以自學JavaFX技術,又可以創建一些教學工具作為輸出。
- JavaFX使用Application作為主要類進行子類化
- API文檔在這里
如果您完成了任何Flex開發,JavaFX看起來將非常自然。 例如
- FXML文件提供UI和布局
- 頂級FXML元素具有
fx:controller
屬性,該屬性定義了此View的Control - FXML元素綁定到控制器類中包含的成員,這些成員已使用
@FXML
注釋進行了注釋 -
fx:id
屬性用于定義綁定到FXML元素的成員的名稱 - 綁定也發生在方法上。 例如,按鈕綁定使用
onAction
處理程序,例如:onAction="#isFutureDone"
-
#methodName
語法用于說明按下按鈕時應調用哪種方法。
由此,您很容易開始構建基本應用程序。 我們發現了一些東西:
- UI線程很容易綁定。 永遠不要直接從Control對象調用阻塞方法,因為在UI線程上觸發此代碼路徑將導致顯示器掛起。
- 小心吞咽異常。
- 如果對象中有一個方法正在更新UI元素,但未使用
@FXML
注釋,則更新后似乎需要在UI元素上調用requestLayout()
。 我們不確定為什么要深入了解-如果您知道原因,請告訴我們。 - 該框架似乎使用自定義類加載將FXML文件轉換為對象的“場景圖”,似乎有點像Spring的工作方式。
總體而言,我們的簡短hack會議給我們留下了深刻的印象。 這些API看起來很干凈,框架的總體設計也很合理。 存在一些穩定性問題,但這是Mac上的尖端技術-JDK和JavaFX運行時都是Developer Previews。
我們一定會再次使用JavaFX做更多的事情,并期待看到它成熟并成為Java客戶端開發的完全受支持的OSS框架。
參考: 我今天從我們的JCG合作伙伴 Martijn Verburg在Java 7開發人員博客 中學到的關于JavaFX的知識 。
相關文章 :
- 從JavaFX 1.3遷移到JavaFX 2.0
- JavaFX 2.0 beta示例應用程序和思考
- JavaOne正在重建動力
- 有時在Java中,一個布局管理器是不夠的
翻譯自: https://www.javacodegeeks.com/2012/01/what-i-learnt-about-javafx-today.html