1
A
回答
2
Node
■不要包含關於如何使用默認情況下用於創建它的FXML文件所使用的控制器的任何信息,因爲fxml只是創建場景的一種方式。但是你可以在FXML這樣的附加信息的userData
/properties
:
<AnchorPane xmlns:fx="http://javafx.com/fxml/1" fx:id="AnchorPane" prefHeight="400.0" prefWidth="600.0" onMouseClicked="#click" fx:controller="fxml.FXMLController">
<!-- store controller as userData property -->
<userData>
<fx:reference source="controller" />
</userData>
<properties>
<!-- store controller at key "foo" in properties map -->
<foo><fx:reference source="controller" /></foo>
</properties>
</AnchorPane>
如果你這樣做,你可以使用查找在您添加此類信息的節點的最近的祖先控制器
public static Object getController(Node node) {
Object controller = null;
do {
controller = node.getProperties().get("foo");
node = node.getParent();
} while (controller == null && node != null);
return controller;
}
來檢索properties
地圖信息或使用
public static Object getController(Node node) {
Object controller = null;
do {
controller = node.getUserData();
node = node.getParent();
} while (controller == null && node != null);
return controller;
}
檢索來自的信息財產。
你可能應該只使用一種方法來添加信息,而不是兩者。另外它會更好地代替foo
作爲關鍵...
相關問題
- 1. Drupal 8 - 從控制器獲取當前節點ID
- 2. 如何從Drupal 7中的entity_metadata_wrapper實例獲取節點/實體?
- 3. 如何從actionResult獲取控制器實例
- 4. Rails異常 - 從控制器獲取實例變量
- 5. 從節點控制器調用節點控制器,如何發送數據?
- 6. 從PHP SimpleXML節點獲取實際值
- 7. 獲取控制點擊點
- 8. 以編程方式獲取視圖控制器的實例
- 9. 在AppDelegate.m中獲取視圖控制器的實例
- 10. 獲取另一個控制器實例類
- 11. AngularJS - 在控制器外部獲取$ cookies實例
- 12. 獲取學說的一個實例,在控制器
- 13. 代碼點火器從視圖到控制器獲取ajax值
- 14. 獲取外匯:從標籤ID點擊從控制器
- 15. 從控制器獲取Int值從$ .Ajax
- 16. 如何從視圖的init()方法獲取任何控制器實例?
- 17. 基於節點實例的提取
- 18. 從XML獲取節點值
- 19. 從tcxtreelist獲取checked節點
- 20. 從DLL/Assembly獲取實例?
- 21. 從selectbox中獲取實例
- 22. 從HTMLElement獲取google.maps.Map實例
- 23. 從DLL/Assembly獲取實例?
- 24. 從Azure實例獲取ServiceDefinition.csdef
- 25. 從實例獲取字段?
- 26. 在SimpleXML(PHP)中獲取其名稱的節點實例
- 27. XPath:從指定節點獲取節點集的根節點
- 28. 從控制器獲取json數據?
- 29. p:commandLink - 從控制器獲取動作
- 30. 從url獲取控制器和方法?
可能是這對你有幫助。 [通過參數-JavaFX的FXML](http://stackoverflow.com/questions/14187963/passing-parameters-javafx-fxml/40193164#40193164) – CTN