javafx 8 - How to access parent member controller from child controller -
this question similar this, need access parent fellow member (not control). don't know if possible without using dependency injection.
for example, have parent have fellow member calls user, need access kid controller user.
just pass reference parent controller kid controller in parent controller's initialize()
method:
parentcontroller.java:
public class parentcontroller { @fxml private childcontroller childcontroller ; private user user ; public void initialize() { user = ...; childcontroller.setuser(user); } }
childcontroller.java:
public class childcontroller { private user user ; public void setuser(user user) { this.user = user ; } }
you can javafx properties instead of plain objects, if want binding etc:
parentcontroller.java:
public class parentcontroller { @fxml private childcontroller childcontroller ; private final objectproperty<user> user = new simpleobjectproperty<>(...) ; public void initialize() { user.set(...); childcontroller.userproperty().bind(user); } }
childcontroller.java:
public class childcontroller { private objectproperty<user> user = new simpleobjectproperty<>(); public objectproperty<user> userproperty() { homecoming user ; } }
as usual, parent fxml file needs set fx:id
on fx:include
tag loaded controller injected
<fx:include source="/path/to/child/fxml" fx:id="child" />
the rule beingness fx:id="x"
, controller kid fxml injected parent controller field name xcontroller
.
controller javafx-8
No comments:
Post a Comment