2017-02-03 56 views

回答

0

我沒有看到很多用例,因爲在不同的FXML文件中顯然會有不同的控件,所以目前還不清楚如何管理注入。如果您確實有用例(例如,不同的FXML文件對於相同的基本用戶界面只有不同的佈局),那麼可以:

從FXML文件中刪除fx:controller屬性,並使用以下模式手動設置控制器:

FXMLLoader loader = new FXMLLoader(getClass().getResource("/path/to/file.fxml")); 
MyConfigurableController controller = new MyConfigurableController(aParam, anotherParam); 
loader.setController(controller); 
Parent root = loader.load(); 
+0

謝謝你的回覆。我有以下情況。我有兩個動態變化的屏幕。在屏幕A中,我有一個媒體欄和一個控制器。在屏幕B中,我想創建一個新的媒體欄(例如相同但有幾個按鈕),並使用相同的控制器,但具有附加功能。當然,我可以將控制器複製到第二個媒體欄的新控制器中,並將其用於我的目的,但我一直在尋找更優雅的解決方案,例如向新創建的媒體欄添加第二個控制器,以處理新的內容。這是否有可能? – TheNephalem

+0

@ TheNephalem對於這種情況,你爲什麼不使用繼承? –

+0

我太累了,我再也想不起來了。非常感謝你爲我節省了很多時間! – TheNephalem

相關問題