2012-09-30 42 views
5

我已經開始玩JavaFX 2了,我非常喜歡用FXML創建UI的方便性。但是,一旦你通過了基本的例子,你需要一個帶有很多窗口的UI,在一個FXML文件中定義整個應用程序的UI似乎是不合邏輯的。有沒有辦法模塊化JavaFX應用程序?

是否可以在單獨的FXML文件中編寫單獨的組件,然後根據需要包含它們?舉例來說,我想要一個窗口在用戶點擊主菜單中的一個項目時彈出;我可以在單獨的FXML文件中寫入該窗口的定義,在運行時加載並將其添加到節點樹中?

+0

是的,這應該是可以的。這個答案是否足夠,或者你有什麼具體問題? – Puce

+0

好吧,我想那回答我提出的具體問題。讓我改述一下:有人可以提供一個將FXML模塊導入應用程序並在運行時將該節點插入主應用程序的例子嗎? – corbenik

+0

它與導入一個FXML應該沒有多大區別。你能展示你嘗試過什麼,以及你在哪裏奮鬥嗎? – Puce

回答

4

從FXML角度來看有兩種做法:

  1. 只需使用fx:include指令應用分成不同的FXML文件的邏輯部分。

  2. 更高級的方法是將應用程序的各個部分作爲單獨的「控件」實現。哪些將有自己的(可以是非常簡單的)API來提供數據,並可以在FXML或FX API中使用,如內置控件。有關詳細信息,請參閱下一個問題以瞭解如何使用FXML實現該功能:How to pass object created in FXML Controller1 to Controller2 of inner FXML control

相關問題