使用NetBeans和Scene Builder協作開發JavaFX2

目前來說,雖然開發JavaFx的工具不少,但是無疑,只有Netbeans纔是最強大和最方便的,遠超其他工具。

同時,Oracle官方也向開發者推薦了一個專門用於構建JavaFX場景的工具:JavaFX Scene Builder2.

詭異的是,這個工具的下載地址極其難找到。官方的教程總是把我們引導向JavaSE的下載地址,說從這個頁面可以找到sb的下載鏈接,但是我找了半天沒有。

實在沒有辦法,至少去Java歸檔裏面去找之前的版本,如果能升級,就下載後自動升級算了。

從http://www.oracle.com/technetwork/java/javase/archive-139210.html 最下面點開Download JavaFX Scene Builder  

從最下面下載2.0版本即可。可能下載老失敗,推薦用迅雷。

 

安裝好SB,需要在NB裏面指定它的路徑,FXML文件才能被自動打開。

打開NB的設置:“工具”菜單-》“選項O”,切換到“Java”標籤頁的“JavaFX”標籤,把SB的安裝目錄寫進去。

我們用NB創建一個FXML項目,然後用SB修改試試。

 

  1. 從NB裏面點擊“文件”菜單,選擇“新建項目”,左側選擇“JavaFX”,右側選擇“JavaFX FXML 應用程序”,點下一步。
  2. 該程序起個詭異的名字,比如“YeLiangChen”,也可以默認。點完成
  3. NB給我們自動生成了一些文件,現在可以按一下F6運行看看。一個按鈕,你點一下,他就說你好。整個這個佈局都是一個文件構建的。我們可以打開看一下:右鍵fxml文件,選擇編輯。如果想直接在SB裏打開,右鍵的時候選擇打開就行。或者雙擊也是打開。
  4. 我們看到SB中展示的和運行後是一樣的。那修改以後呢?

比如我們從SB的Library中搜索“but"會看到5個名稱包含but的控件,我們把第一個Button拖到佈局上面,在右側的Inspector裏面打開Code。給新按鈕賦一個ID,在fx:id框中寫上button2,因爲他自帶的那個Click Me按鈕id是button。然後在On Action裏寫上handleButtonAction2,按ctrl +s 保存。

 

回到NB中,可以看到fxml文件報錯了,因爲這個新按鈕的動作回調在controller裏面找不到。這時候點擊”源S“菜單,點擊”生成控制器“,報錯消失。我們打開controller看一下,他幫我們自動添加了一個private的button2和一個private的handleButtonAction2,並且是用@FXML註解標記的。

 

這個註解不是必須的。我們可以把controller裏面的所有@FXML 註解都刪掉,刪掉哪個的時候就把相應的屬性和方法改成外部可訪問的,比如public的,這樣反射的時候才能訪問,不然編譯通過運行時也會報錯。

 

controller裏面都是一些動作處理回調,比如點擊的時候怎麼搞,拖放的時候怎麼搞,縮放的時候怎麼搞等等。其他的業務代碼呢?可以看到controller實現了一個fxml包裏的接口Initializable,這個接口有一個方法initialize。fxml文件在加載的時候就會先調用這個方法。如果你沒有要做的事情,那麼可以不實現這個接口。

這個接口或者這個方法有什麼用呢?對於界面處理來說,作用很小。它會執行一些注入工作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章