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. 从回调获取控制器实例
- 2. Java FXML从另一个控制器获取控制器实例
- 3. Drupal 8 - 从控制器获取当前节点ID
- 4. Rails异常 - 从控制器获取实例变量
- 5. 如何从actionResult获取控制器实例
- 6. ExtJS 4.2.1 - 无法从控制器获取视图实例
- 7. 如何从Drupal 7中的entity_metadata_wrapper实例获取节点/实体?
- 8. 从节点控制器调用节点控制器,如何发送数据?
- 9. 从控制器获取$ viewValue
- 10. 从PHP SimpleXML节点获取实际值
- 11. Openstack - 控制器节点
- 12. 获取控制点击点
- 13. JavaFX - 如何获取控制器对象的实例
- 14. 在控制器中获取服务实例
- 15. 以编程方式获取视图控制器的实例
- 16. 获取学说的一个实例,在控制器
- 17. 如何在Ember.js中获取控制器的实例?
- 18. 获取另一个控制器实例类
- 19. 在AppDelegate.m中获取视图控制器的实例
- 20. 如何在控制器中获取树实例 - 分机4
- 21. 如何获取由AngularJS创建的控制器实例?
- 22. 如何获取当前控制器的实例变量?
- 23. AngularJS - 在控制器外部获取$ cookies实例
- 24. 访问控制器实例
- 25. 如何从控制器中获取配置(需要从控制器中获取)?
- 26. 从父节点获取img节点
- 27. 从控制器的辅助方法实例化实例变量
- 28. openNMS从DNS服务器获取节点
- 29. 代码点火器从视图到控制器获取ajax值
- 30. 从控制器获取Int值从$ .Ajax
可能是这对你有帮助。 [通过参数-JavaFX的FXML](http://stackoverflow.com/questions/14187963/passing-parameters-javafx-fxml/40193164#40193164) – CTN